我似乎无法弄清楚这个非常简单的事情。我有一个带有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/