我在我的iPhone應用程序中有一個視圖(和相應的視圖控制器),允許用戶編輯應用程序的設置。該視圖可通過菜單(表格視圖)訪問。我在我的UIViewController子類中使用pushViewController來顯示它。當我這樣做時,它就像我期望的那樣 - 導航欄出現在xib頂部,並且我在xib中留下的空白空間被佔用。建議在UINavigationController視圖和模態視圖中使用相同的xib?
我也有時使用presentModalViewController將設置視圖顯示爲模態視圖。當我這樣做時,xib的頂部從導航欄的底部開始,而不是在它的下面。
該文檔確實表示presentModalViewController將調整視圖大小以適應,所以我可以看到這是預期的行爲。但是,對我而言,這是不期望的行爲。
我可以通過設置視圖控制器設置視圖控制器不顯示導航欄,但在視圖頂部有一個奇怪的空白空間。
理想情況下,我想在這兩種情況下使用相同的xib。但是,這可能不是最佳做法?你們通常如何重複使用xib?
我在想,也許我可以讓視圖控制器將所有的控制器都轉移到模態模式下,但如果可用的話,我想要更好的東西。
那麼,在這種情況下,導航欄會出現在這兩種情況下 - 從一個視圖控制器堆棧加載,當演出時,爲模態的視圖。在第二種情況下,它會自動將控件移到導航欄中,無論自動調整遮罩是否在頂部有「支撐」。 但是,瞭解layoutSubviews是一件好事。 – Jim 2009-09-17 12:06:43