2011-01-24 80 views
0

這裏是我的實驗:iPhone - 連接的UIView和子的UIViewController

1. 我想這樣做的是手動管理我的應用程序導航,所以我設置

[self.navigationController setNavigationBarHidden:YES]; 

2. 我創建一個MyFormControllerView實際上是一個聯繫表單,將用於添加和編輯聯繫人。現在當添加聯繫人時,我的自定義導航欄將具有不同的按鈕,那麼在編輯時我也創建了AddMyFormControllerView和EditMyFormControllerView。

3. 這裏有趣的部分。我想從AddMyFormControllerView和EditMyFormControllerView顯示一個自定義標題(在這裏是一些按鈕),然後我想顯示MyFormControllerView。

問題: 我認爲我應該連接/包括與/ MyFormControllerView成通過一個UIViewController其他控制器,但我沒有運氣。我該怎麼做?請注意,我希望儘可能使用Interface Builder。

是的......我知道沒有必要有兩個額外的控制器來實現這一點。我的問題只是我如何將視圖連接在一起。

enter image description here

回答

-1

MyFormControllerView,你可以推到EditMyFormControllerView,並且可以呈現模態AddMyFormControllerView

Push

MyFormControllerView *mfcv = [[MyFormControllerView alloc] initWithNib:@"MyFormControllerView" bundle:nil]; 
[self.navigationController pushViewController:mfcv animated:YES]; 

Present Modally

EditMyFormControllerView *emfcv = [[EditMyFormControllerView alloc] initWithNib:@"EditMyFormControllerView" bundle:nil]; 
[self.navigationController presentModalViewController:emfcv animated:YES]; 
+0

哼哼......我想將MyFormControllerView嵌入到Add/EditMyFormControllerView中。就像我會在使用UINavigationContriller時那樣做,但是我在這裏手動執行。 – xpepermint 2011-01-24 22:22:02

0

我不知道我完全理解你的問題,但這裏是我認爲你應該做的。

沒有MyFormControllerView,然後嵌入其他視圖控制器 - 這太亂了,並增加了不必要的複雜性。如果您使用的是UINavigationController,只需添加AddMyFormControllerView和EditMyFormControllerView,但在視圖控制器的-viewWillAppear:方法中,添加[self.navigationController setNavigationBarHidden:YES];(就像您已經是這樣)。所做的只是隱藏導航欄;關於導航控制器行爲的所有其他內容都是相同的(當然,除了必須允許用戶在視圖之間切換,您使用自定義標頭的事實除外)。

至於自定義標題,只需將其添加爲AddMyFormControllerView和EditMyFormControllerView的子視圖,就像其他任何視圖一樣。