我正在尝试将某些东西推送到我的“当前”导航控制器,但它不会发生。
为什么[[[[[[UIApplication sharedApplication] delegate] window] rootViewController] navigationController] presentModalViewController:myView animated:YES];
无效?
答案 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创建一个引用。