解除模态视图后的可见视图控制器

时间:2014-04-21 10:00:14

标签: ios iphone objective-c

我想知道为什么会发生这种情况:我在导航控制器中嵌入了2个视图控制器。所有人都有超类,我有类似的东西:

-(void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    NSLog(@"Visible VC: %@",self.navigationController.visibleViewController.class);
}

到目前为止,一切都像魅力一样。然后我添加了第三个导航控制器,它是模态视图控制器。它也像其他人一样超级。现在我看到奇怪的事情。单击按钮以显示模态视图控制器后,我看到日志:"可见:( null)",但它没问题,因为第三个VC不在导航控制器中。当我点击关闭按钮隐藏模态视图控制器时,我看到2个日志:"可见:( null)可见:ViewController3"。我的问题是:为什么可见视图控制器不是类ViewController2?它应该是,因为第三个被解雇了。我该如何解决?我需要有一个可见的视图控制器类View View 2。

1 个答案:

答案 0 :(得分:0)

我猜测viewController2在调用时是不可见的。

尝试在

中访问它
viewDidAppear

而不是viewWillAppear。

或者,您可以尝试访问

self.navigationController.topViewController

属性应返回viewController2。