0

我試圖彈出視圖控制器棧兩次,現在我有這個PopToViewController沒有更新UINavigationBar的

UIViewController* controller = nil; 

for (UIViewController* c in self.navigationController.viewControllers) { 
    if (c.class == [ControllerIWantToPopTo class]) { 
     controller = c; 
     break; 
    } 
} 

if (controller) { 
    [self.navigationController popToViewController:controller animated:YES]; 
    return; 
} 

這工作按預期,但該UINavigationBar的損壞。

我的堆棧看起來像這樣anotherController -> ControllerIWanToPopTo -> MiddleController -> ControllerOnTop

像我想的控制器棧彈出到ControllerIWantToPopTo,但在導航欄上的按鈕是從MiddleController按鈕和標題是ControllerOnTop的影片名稱。

在此先感謝。

回答

1

因爲我想測試這種行爲,我在-viewDidLoad運行代碼,顯然這導致了奇怪的問題。我的猜測是,在viewDidLoad UINavigationBar可能沒有完全設置,這會導致問題。

總之:不要試圖彈出視圖控制器在-viewDidLoad