2009-10-09 70 views
0

我正在使用UINavigationController並在返回,彈出和推送視圖控制器時出現間歇顯示問題。有時導航欄會顯示當前視圖和上一個視圖的導航欄重疊的按鈕和文本,有時視圖會更改,但導航欄不會,有時導航欄會更改,但視圖不會。iPhone導航欄推/彈出顯示問題

我沒有什麼奇特的,通常使用左「後退」按鈕,並做pushViewController。

我發現,如果我從視圖中的表中刪除對象,這發生更多。有任何想法嗎?

- (void)viewDidDisappear:(BOOL)animated { 
//zzz sometimes back doesn't go back[aValues removeAllObjects]; 
[super viewDidDisappear:animated]; 
} 
+0

您提供的代碼沒有提供足夠的上下文來幫助您。 'aValues'是什麼,它包含什麼?你說你沒有做任何事情,但用蘋果禁止的方式推送和彈出視圖控制器不會引起你所描述的。 – 2009-10-09 04:11:15

+0

NSMutableArray \t * aValues; 這是一個對象數組,我們在視圖中用作UITableView的數據。該視圖由單個節表和3個UIButtons,一些UILabels和一個UIImageView組成。 – Jack 2009-10-13 20:11:49

回答

0

我有類似的問題。如果您有興趣,請查看question

對我來說簡短的答案是我在NSMutableArray的私有類別中創建了一種馬車流行方法。 UINavigationBar還必須通過私有類別添加彈出方法。我贏了,所以意見不會被彈出。

+0

謝謝,我會嘗試做一些日誌記錄以獲取更多詳細信息。我使用私有類別來隱藏其他類的方法(通用代碼,不覆蓋任何pop方法)。我不明白你的意思是需要爲UINavBar添加一個pop方法; UINavigationController自己的pop方法不夠好嗎? – Jack 2009-10-13 20:19:21

+0

在我的情況下,我添加了一個pop方法到NSMutableArray(通過一個類別)。它沒有彈出(它在堆棧頂部返回物品,但沒有移除它)。這是導致錯誤行爲。 – Kevin 2009-10-14 03:54:14