我似乎无法弄清楚这个非常简单的事情。我有一个带有2个按钮的UIViewController,每个按钮都链接到不同的UITableViewController,当我单击UITableViewController中的单元格时,我希望该单元格的输入显示在按下的按钮中。输入来自数组。

我的一些代码:

MainView.m:

- (void)tableViewController:(TableViewController1 *)tableViewController didSelectRow (NSInteger)rowIndex
{
NSLog(@"Selected row number: %d",rowIndex);
}

TableView1.m:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

[self.delegate tableViewController:self didSelectRow:indexPath.row];
[self.navigationController popViewControllerAnimated:YES];
}

我得到了用这样的方法定义的按钮的标题:

MainView.m :
- (void)viewDidLoad
{

[self.industry setTitle:self.industryText forState:UIControlStateNormal];
[self.education setTitle:self.educationText forState:UIControlStateNormal];
[super viewDidLoad];
}

工业和教育本身就是按钮。 IndustryText和EducationText是名称的占位符。

最佳答案

在具有2个按钮的MainView中,添加以下代码:

MainViewController.h

- (void)selectedFirstButtonText:(NSString *)strText;

MainViewController.m

在第一个按钮触摸事件上,添加以下代码:
- (IBAction)btnFirstTouch:(id)sender {
    FirstTableViewController *firstVC = [[FirstTableViewController alloc] init];
    firstVC.delegate = self;
    [self presentViewController:firstVC animated:YES completion:nil];
}

现在实现委托方法:
- (void)selectedFirstButtonText:(NSString *)strText {
    [self.btnFirst setTitle:strText forState:UIControlStateNormal];
}

FirstTableViewController.h
#import <UIKit/UIKit.h>
#import "MainViewController.h"

@class MainViewController;

@interface FirstTableViewController : UITableViewController <UITableViewDataSource, UITableViewDataSource>
@property(nonatomic, assign) MainViewController *delegate;


@end

现在在您的 FirstTableViewController.m中
@synthesize delegate = _delegate;

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    UITableViewCell *cell = (UITableViewCell *)[tableView cellForRowAtIndexPath:indexPath];

    if([self.delegate respondsToSelector:@selector(selectedFirstButtonText:)]) {
        [self.delegate selectedFirstButtonText:cell.textLabel.text];
        NSLog(@"Selected Text");
    }

    [self dismissViewControllerAnimated:YES completion:nil];
 }

Sample Project Dropbox Link

关于ios - 在其他ViewController中从TableView单元格显示标题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16656665/

10-12 14:17