我的故事板看起来像这样:
第一部分是完美的,问题是当我使用“测试模态”按钮以模态方式显示第二个NavigationController时,正确设置为具有rootViewController - 没有建立连接。
意思是,我知道 UINavigationController就在那里(从UIWindow的rootViewController开始查询所有控制器),我的控制器也被加载了,但是navigationController是nil,parentViewController是nil - 我没办法可以访问UINavigationController(因此无法自定义顶部工具栏)
如果我检查第二个UINavigationController上的“是初始视图控制器”,它可以工作(但显然这不是我想要的)。我相信这可能是一个UIKit错误。或者我做错了吗?
答案 0 :(得分:4)
是否正确实现了prepareForSegue方法? 这就是我在我的应用程序中实现prepareForSegue方法的方法。
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:@"yourConnectionName"]) {
UINavigationController *navController = segue.destinationController;
YourViewControllerClass *controller = (YourViewControllerClass *)navController.topViewController;
controller.delegate = self;
}
}
答案 1 :(得分:2)
我终于找到了这个。
我没有在我的初始化中调用[super initWithCoder:decoder]
。这使得一些UIViewController变量未初始化。改变后,它就像一个魅力。