2011-01-24 48 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的子视图,就像其他任何视图一样。