2013-02-11 71 views
1

我彈出到所需的視圖控制器,但uinavigationbar和uinavigationitem不顯示正確的名稱,我必須點擊後退按鈕(uinavigationitem)以便請在導航欄上看到正確的名稱。我的uinavigationbar不顯示正確的名稱uinavigationcontroller

爲了顯示YTOCalculatorViewController我使用

 YTOCalculatorViewController * parent = (YTOCalculatorViewController *)self.controller; 
    [self.navigationController popToViewController:parent animated:YES]; 

。我已經將這段代碼放在了view controller中,但是我仍然想要去YTOCalculatorViewController,但是雖然它彈出到右側的viewcontroller,但是導航欄顯示的名稱是錯誤的,點擊後退按鈕後,它顯示了正確的名稱。

例如,我有堆疊 Ç 乙 甲

在這種情況下,A是YTOCalculatorViewController上。 當顯示C時,我保存信息並且我想再次顯示A,以便使用上面的代碼。

如果我從A到C然後回到C到A的次數x,那麼當我到達A時,我必須在後退按鈕上單擊x次以查看右側的uinavigationbar的名稱屬於A.該uinavigationbar顯示B視圖控制器的名稱,而不是顯示A的名稱。

對不起,如果我不夠清楚,我希望你明白我的問題。

回答

0

看來你正試圖從自我到自我彈出..

如果你想彈出來這已經迫使一些特定的控制器..說你已經推動A-> B-> C-> d,你是目前d,並希望popto ,你應該做到以下幾點

for(UIViewController *controller in [self.navigationController viewControllers]){ 
    if([controller isKindOfClass:[B class]]){ 
     [self.navigationController popToViewController:controller animated:YES]; 
     break; 
    } 

} 

上面應該工作以及..上面的代碼可能不是語法正確,請改正如果是這樣。

相關問題