【发布时间】:2014-04-21 01:29:35
【问题描述】:
我是 iOS 开发新手。我有一个具有UINavigationController 的应用程序(带有嵌入式UITableViewController,称为TableView1),我需要通过点击UITableViewCell 为TableView1 显示另一个UITableView(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];
}
编辑:除了这个问题,如果我发现我这样做是正确的,我如何让正常的后退按钮显示?或者我可以吗?
【问题讨论】:
-
为什么不想推送呢?
-
不是不想推。我试图推动 UINavigationController,但什么也不会发生。我设置了segue来推动,但没有。做了一些研究,发现你不能从 UITableViewCell 推送 UINavigationController。不确定这是否正确,我只知道 push 不起作用,但是当我将代码更改为 presentViewController 时,它起作用了。
标签: ios objective-c uitableview uinavigationcontroller