我想知道为什么会发生这种情况:我在导航控制器中嵌入了2个视图控制器。所有人都有超类,我有类似的东西:
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
NSLog(@"Visible VC: %@",self.navigationController.visibleViewController.class);
}
到目前为止,一切都像魅力一样。然后我添加了第三个导航控制器,它是模态视图控制器。它也像其他人一样超级。现在我看到奇怪的事情。单击按钮以显示模态视图控制器后,我看到日志:"可见:( null)",但它没问题,因为第三个VC不在导航控制器中。当我点击关闭按钮隐藏模态视图控制器时,我看到2个日志:"可见:( null)可见:ViewController3"。我的问题是:为什么可见视图控制器不是类ViewController2?它应该是,因为第三个被解雇了。我该如何解决?我需要有一个可见的视图控制器类View View 2。
答案 0 :(得分:0)
我猜测viewController2在调用时是不可见的。
尝试在
中访问它viewDidAppear
而不是viewWillAppear。
或者,您可以尝试访问
self.navigationController.topViewController
而属性应返回viewController2。