2014-04-21 91 views
0

我想知道爲什麼會發生:我有2個視圖控制器嵌入導航控制器。所有有超類的地方,我有這樣的事情:解除模態視圖後可見視圖控制器

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

到目前爲止,一切都像一個魅力。然後我添加了第三個導航控制器,它是模態視圖控制器。它也有像其他人一樣的超級課程。現在我看到了奇怪的事情。點擊按鈕顯示模式視圖控制器後,我看到日誌:「可見:(null)」,但沒關係,因爲第三個VC不在導航控制器中。當我點擊解僱按鈕來隱藏模式視圖控制器,我看到2日誌:「可見:(空)可見:ViewController3」。我的問題是:爲什麼可見的視圖控制器不是類ViewController2類?應該是,因爲第三個被解僱了。我該如何解決它?我需要有可視的視圖控制器類視圖控制器2.

回答

0

我猜測viewController2不是可見的,但當它被稱爲。

嘗試在

viewDidAppear 

,而不是viewWillAppear中訪問它。

或者,你可以嘗試,而不是訪問

self.navigationController.topViewController 

財產,應該返回viewController2。

相關問題