ios使用全球导航控制器

时间:2012-02-29 20:20:01

标签: ios

我正在尝试将某些东西推送到我的“当前”导航控制器,但它不会发生。

为什么[[[[[[UIApplication sharedApplication] delegate] window] rootViewController] navigationController] presentModalViewController:myView animated:YES];无效?

3 个答案:

答案 0 :(得分:5)

[[window rootViewController] navigationController]指的是包含rootViewController的导航控制器。由于根控制器不在任何导航控制器内,因此它总是为零。

rootViewController可能是导航控制器本身。如果是这种情况,您可以使用以下代码:

[[[[[UIApplication sharedApplication] delegate] window] rootViewController] presentModalViewController:myViewController animated:YES]

顺便说一句,你不能以模态方式呈现视图,你应该呈现它的控制器。

答案 1 :(得分:3)

你有导航控制器吗?我的猜测是没关系。您需要创建一个 - 该属性始终存在,但如果不存在导航控制器则为零。

答案 2 :(得分:1)

您使用的是MainWindow.xib文件吗?如果是这样的话......你需要在你的Palette中添加一个UINavigationController,并从你的App Delegate到UINavigationController创建一个引用。