我是iOS开发的新手。我有一个具有UINavigationController
(具有嵌入式UITableViewController
,称为TableView1)的应用程序,我需要在UITableView
的水龙头上为TableView1显示另一个UITableViewCell
(TableView2)。
我进行了一些在线搜索,并没有真正找到超级有用的东西,但是我发现我必须提供TableView2而不是推送它。一切正常,除了TableView2没有后退按钮,我必须创建自己的UIBarButtonItem
并分配给leftBarButtonItem
的navigationItem
。
一切都很好,除了我忍不住觉得自己做错了。有没有更简单的方法(或更正确的方法)来完成我要完成的工作?
TableView1的代码
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewController *tableViewController = [[UITableViewController alloc] init];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:tableViewController];
[self.navigationController presentViewController:navigationController
animated:YES
completion:nil];
}
编辑:连同这个问题,如果我发现我正在以正确的方式执行此操作,我如何显示正常的后退按钮?还是可以?
最佳答案
直接从该视图控制器中呈现它:
[self presentViewController:navigationController animated:YES completion:nil];
或使用
pushViewController
:- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewController *tableViewController = [[UITableViewController alloc] init];
[self.navigationController pushViewController:tableViewController animated:YES];
}