2009-07-01 18 views
2

我一直在學習過去兩週內構建iPhone應用程序的過程。我已經獲得了相當數量的內容,現在我正嘗試使用presentModalView創建一個模式彈出窗口。如何使用Interface Builder來正確控制UINavigationControllers?

我可以成功創建並向上滑動一個視圖,但我注意到模態視圖不會爲您提供窗口頂部的默認導航欄,這對我的靈活性很有意義。我見過的大部分模態視圖都有一個「取消」和「完成」或「保存」按鈕,作爲navigationItems,它看起來像是一個UINavigationController。然後我的想法是實例化導航控制器,並將單個視圖推送到視圖控制器堆棧,並presentModalView:navController.view ...

因爲視圖相對複雜,我試圖擺出UINavigationController ,用酒吧按鈕,以及我希望用單個xib推入堆棧的視圖 - 無論我嘗試什麼,我似乎都無法獲得正確的鏈接。你甚至可以這樣做嗎?或者我應該創建一個單獨的類/ xib視圖,我將推入導航控制器?看起來像一個屏幕上的很多類和文件,所以我的感覺是我必須錯過一些東西。

在這一點上,我可以在一個半小時前以編程的方式完成它......但是,這是一個真正的嘮叨,因爲IB對於某些事情似乎很棒。任何人都有這種情況的經驗?

感謝, 喬希

回答

1

如果你不打算使用這個新的XIB導航系統,有在做導航控制器是沒有意義的。

在界面構建器中,只需將UINavigationBar拖到視圖的頂部,然後添加一個「完成」按鈕。現在,添加一個IBAction到完成按鈕來關閉視圖控制器。您的ViewController代碼解僱IBAction應該看起來像這樣:

-(IBAction)dismiss { 
    //Any logic before dismissing the modal view 
    [super dismissModalViewControllerAnimated:YES]; 
} 
+0

啊 - 呃!謝謝。我猜想,自從我開始將導航控制器概念放在我的頭腦中時,它就更有意義了。唯一我要做的就是嘗試並堅持提出模態視圖的視圖控制器應該解除它的模式。因此,我不是使用直接的IBAction,而是實現一個協議,並使用委託(父)來調用dismiss。不知道爲什麼,但蘋果說這是最好的做法... – Josh 2009-07-02 03:26:56

相關問題