为什么这个pushViewController不起作用?

时间:2011-08-10 17:02:58

标签: iphone objective-c ios pushviewcontroller

我有一个UIViewController类,它有一个触发它的按钮:

DetailViewController *viewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
[self.navigationController pushViewController:viewController animated:YES];
[viewController release];

为什么推动什么都不做?如果重要,UIViewController就在UITabBarController中。

2 个答案:

答案 0 :(得分:5)

我最好的猜测是,你还没有创建UINavigationController。您需要先创建UINavigationController,然后才能进入堆栈。

您可以使用navigationController属性检查当前viewController(self)当前是否在UINavigationController的层次结构中;如果没有,navigationController属性将返回nil。

答案 1 :(得分:1)

因为self.navigationController是零?如果您没有创建UINavigationController来管理UITabBarController的当前选项卡的内容,那么您无需将新的视图控制器推送到。