这是我的实验:
1。 我想要做的是手动管理我的应用程序导航,所以我设置
[self.navigationController setNavigationBarHidden:YES];
2。 我创建了一个MyFormControllerView,它实际上是一个联系表单,将用于添加和编辑联系人。现在,当添加联系人时,我的自定义导航栏将有不同的按钮,然后在编辑时,我创建了AddMyFormControllerView和EditMyFormControllerView。
3。 这是有趣的部分。我想从AddMyFormControllerView和EditMyFormControllerView显示一个自定义标题(在这种情况下是一些按钮),下面我想显示MyFormControllerView。
问题: 我假设我应该通过UIViewController连接/包含MyFormControllerView和/到其他控制器,但我没有运气。我该怎么做?请注意,我希望尽可能使用“界面”构建器。
是的......我知道没有必要再有两个控制器来实现这一目标。我的问题只是如何将视图连接在一起。
答案 0 :(得分:0)
我不确定我是否完全理解你的问题,但这就是我认为你应该做的事情。
没有MyFormControllerView,然后嵌入其他视图控制器 - 太乱了,增加了不必要的复杂性。如果您使用的是UINavigationController,就像使用AddMyFormControllerView和EditMyFormControllerView一样,但在视图控制器的-viewWillAppear:
方法中,添加[self.navigationController setNavigationBarHidden:YES];
(就像您现在一样)。所有这一切都隐藏了导航栏;关于导航控制器行为的其他一切都是相同的(当然,除非您必须允许用户在视图之间切换,您使用自定义标头)。
对于自定义标题,只需将其添加为AddMyFormControllerView和EditMyFormControllerView的子视图,就像添加任何其他视图一样。
答案 1 :(得分:-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];