在标签栏应用程序上从 UITableView 推送新的视图控制器

Posted

技术标签:

【中文标题】在标签栏应用程序上从 UITableView 推送新的视图控制器【英文标题】:Pushing new view controller from UITableView on a Tab Bar application 【发布时间】:2011-06-16 10:17:03 【问题描述】:

我有一个应用程序,里面有两个栏。 .xib 选项卡之一包括UITableView,当用户选择其中一个单元格时,我想显示另一个UIViewcontroller(.xib 文件),其中包含有关他的选择的信息。

现在,我已经尝试过了

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath
*)indexPath  
NextViewController *nextController = [[NextViewController alloc] initWithNibName:@"NextView" bundle:nil];   
[self.navigationController pushViewController:nextController animated:YES];     [nextController changeProductText:[arryData objectAtIndex:indexPath.row]]; 

什么也没发生,控制台根本没有显示任何错误。

似乎是什么问题?

谢谢!

【问题讨论】:

【参考方案1】:

什么也没发生,因为你的 self.navigationController 返回 nil。 要正确使用导航控制器,您必须至少拥有一个。对于 TabBar 应用程序,对于每个选项卡,您必须关联的不是 UIViewController 子类,而是嵌套在 UINavigationController 中的 UIViewController 子类。这很容易在 .xib 或代码中完成。只是谷歌一些教程。

【讨论】:

以上是关于在标签栏应用程序上从 UITableView 推送新的视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

标签栏显示贯穿整个项目?

将 UINavigationController 添加到标签栏应用程序

UITableView:向上滑动时收缩标签栏和导航栏

推送时隐藏自定义标签栏

如何处理标签栏的推送通知,我的标签栏控制器远离根视图控制器

iPhone:标签栏下的 UITableView 滚动