如何在我的标签栏iOS应用程序上显示模态UINavigation视图?

时间:2013-06-11 00:30:32

标签: ios objective-c cocoa-touch uinavigationcontroller uitabbarcontroller

以下是我打算在整个标签栏应用中弹出导航控制器的代码:

LoginViewController *logController = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
EditNavController *navController = [[EditNavController alloc] initWithRootViewController:logController];
[self.navigationController presentModalViewController:navController animated:NO];

我在日志中收到以下警告:

Warning: Attempt to present <EditNavController: 0xa95b980> on <MyTabController: 0x1152fd60> whose view is not in the window hierarchy!

代码有效,但我想以正确的方式进行,因此不会出现此警告。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

如果MyTabController是tabbarcontroller,则应使用

[self presentViewController:navController animated:YES completion:^{}];

记住presentModalViewController:animated:是deprecated since iOS6。我认为问题是你试图在tabbar的导航控制器中呈现viewController,它不在视图层次结构中(因为它没有显示)。相反,您应该在Tab Bar控制器中呈现模态视图控制器(在视图层次结构中是IS)。 我希望它有所帮助!