我手動管理我的視圖的UINavigationBar。 Bar本身和第一個UINavigationItem是在Interface Builder中創建的。在我的代碼中,基於各種事件,我將新的導航項目推送到欄上,並將適當的視圖作爲主視圖的子視圖進行繪製。這一切似乎都很好,但是當我選擇導航欄後退按鈕時,兩件物品會從物品堆棧中刪除,而不是像我所預期的那樣。爲了測試,我把我的控制器爲代表的酒吧和陷阱2委託方法:UINavigationBar似乎彈出2個項目在「後退」堆棧
- (BOOL)navigationBar:(UINavigationBar *)navigationBar shouldPopItem:(UINavigationItem *)item;
和
- (void)navigationBar:(UINavigationBar *)navigationBar didPopItem:(UINavigationItem *)item;
我彈出前右發現,在導航欄的項目是正確的,例如,3.在第二種方法中,在彈出之後,即使彈出的項目是最後一個項目,項目也是1 - 不知何故中間項目丟失。我很難理解如何調試,並會欣賞任何想法。
請注意,由於各種原因,我沒有使用導航控制器。
是的,謝謝。我在想,也許有人調用didPopItem和shouldPopItem兩次,這就是爲什麼我設置了委託方法,以便可以捕獲這些方法。他們只被調用一次。 當時看起來更容易擴展我的viewcontroller而不是實現導航控制器。考慮到IB給你提供的工具來設置它,我認爲它是可以的。另外,我對iphone開發相當陌生,並且喜歡理解框架機制。我已經在我的工作方式現在,並粉筆這與環境,以避免我的理解又一件事... – farhadf 2009-08-17 17:21:52