2

目前,我有這個工作流程中一個標籤基於應用程序:的UINavigationController從UIViewController的

TAB1負載...

ViewOne : UIViewController 
    >> 
    PickerView : UIViewController 
    >> 
     DetailView : UIViewController 

「>>」 是指基於用戶行爲的負載。我想在PickerView和DetailView上使用導航欄。 PickerView只需在其導航欄左上角有一個取消按鈕。 DetailView需要正常的導航欄後退按鈕。我已經通過IB連接PickerView的導航欄並開始工作。我不知道如何處理PickerView的導航欄。

PickerView也從Tab2加載,誰的主視圖作爲UINavigationController啓動。 PickerView的導航欄在這種情況下工作正常。

ViewOne不應該有一個導航欄。

任何想法?

回答

1

聽起來像是你只是做平常:在ViewOne,創建您的導航控制器爲:

UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:picker]; 
[self.view addSubview:nc.view]; 
[nc release]; 

後退按鈕被自動創建(除非你需要一個從您選擇器viewOne回來了,在這種情況下,創建一個

聽起來像是你想提出的DetailView爲模式:

[自我presentModalViewController:動畫的DetailView:YES];

雖然您可以在導航控制器中正常使用它。

當您的導航控制器可以完成所有這些操作時,您的聲音或許令人擔心導航的機制過於龐大?

+0

它實際上需要addSubview:nc.view。當我這樣做時,增加的視圖被壓低了,我可以看到它背後的第一個視圖。看起來像狀態欄佔用的空間量相同。你有什麼想法是什麼原因造成的? – 4thSpace 2010-05-28 23:22:15

+0

修正了代碼,謝謝。在導航和標籤欄下的視圖變換是我們必須忍受的事情;請確保您的視圖是使用正確的autoresizeMasks創建的,如果使用「彈簧和支撐」設置在IB中設置它們,這很容易實現。 – 2010-05-29 07:12:06

+0

通過「彈簧和支柱」,如果你的意思是IB中的所有自動修正箭頭都是可見的,那麼我就知道了。然而,我仍然得到PickerView,並且它推動的任何視圖被按下狀態欄的大小。 – 4thSpace 2010-05-29 17:09:43

相關問題