我有什么似乎是一个简单的问题。我声明了一个导航控制器,但是出现的导航栏不显示在页面的顶部。导航栏不显示在页面顶部。怎么了?
我声明导航控制器像这样...
的UINavigationController * navController = [[UINavigationController的页头] initWithRootViewController:setupViewController];
[self.view addSubview:navController.view];
任何想法?
我有什么似乎是一个简单的问题。我声明了一个导航控制器,但是出现的导航栏不显示在页面的顶部。导航栏不显示在页面顶部。怎么了?
我声明导航控制器像这样...
的UINavigationController * navController = [[UINavigationController的页头] initWithRootViewController:setupViewController];
[self.view addSubview:navController.view];
任何想法?
marcc是正确的说,你不应该添加导航控制器视图作为视图的子视图。实际上,必须创建层次结构,以便您的视图控制器是导航控制器中的根视图控制器。
视图控制器的层次结构通常构造为: 窗口 - >标签栏控制器 - >导航控制器 - >视图控制器。
标签栏控制器和导航控制器绝对是可选的。
您可以使用pushViewController:animated和popViewController:动画方法从导航控制器中推送和弹出视图控制器。
您不应该将NavigationController作为子视图添加到像这样的视图中。这完全破坏了目的。 您需要使用initWithRootViewController
创建UINavigationController
然后显示它。尝试是这样的:
UINavigationController *controller = [[UINavigationController alloc]initWithRootViewController:setupViewController];
[self presentModalViewController:controller animated:YES];
[controller release];
(你可能想self.navigationController或别的东西在presentModalViewController线,这取决于“自我”是)
也许它飞走了? – 2010-04-21 02:52:00
我打算编辑这个,但决定不抢别人的幽默:) – coneybeare 2010-04-21 05:51:10