【问题标题】:iPhone - connect UIView and sub UIViewControlleriPhone - 连接 UIView 和子 UIViewController
【发布时间】:2011-01-24 22:09:26
【问题描述】:

这是我的实验:

1。 我想做的是手动管理我的应用导航,所以我设置了

[self.navigationController setNavigationBarHidden:YES];

2。 我创建了一个 MyFormControllerView,它实际上是一个联系表单,将用于添加和编辑联系人。现在,当添加联系人时,我的自定义导航栏将有不同的按钮,然后在编辑时我还创建了 AddMyFormControllerView 和 EditMyFormControllerView。

3。 这里是有趣的部分。我想从 AddMyFormControllerView 和 EditMyFormControllerView 显示一个自定义标题(在这种情况下是一些按钮),我想在下面显示 MyFormControllerView。

问题: 我假设我应该通过 UIViewController 将 MyFormControllerView 连接/包含到其他控制器中,但我没有运气。我该怎么做?请注意,我希望尽可能多地使用界面生成器。

是的...我知道不需要两个额外的控制器来实现这一点。我的问题只是如何将视图连接在一起。

【问题讨论】:

    标签: iphone uiviewcontroller interface-builder


    【解决方案1】:

    我不确定我是否完全理解您的问题,但我认为您应该这样做。

    不要有一个 MyFormControllerView 然后嵌入其他视图控制器——这会变得太混乱并增加不必要的复杂性。就像使用 UINavigationController 时一样,只需使用 AddMyFormControllerView 和 EditMyFormControllerView,但在视图控制器的 -viewWillAppear: 方法中,添加 [self.navigationController setNavigationBarHidden:YES];(就像你已经使用的那样)。所做的只是隐藏导航栏;导航控制器的其他所有行为都是相同的(当然除了您必须允许用户在视图之间切换,您使用自定义标题)。

    至于自定义标题,只需将其添加为 AddMyFormControllerView 和 EditMyFormControllerView 的子视图,就像添加任何其他视图一样。

    【讨论】:

      【解决方案2】:

      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];
      

      【讨论】:

      • 嗯...我想将 MyFormControllerView 嵌入到 Add/EditMyFormControllerView 中。就像我在使用 UINavigationContriller 时会做的那样,但在这里我是手动做的。
      • 我不确定您所说的“嵌入”是什么意思。从 MyFormControllerView 到添加/编辑视图的唯一合乎逻辑的方法是我的回答。也许通过嵌入这些视图来描述您的意思?
      • MyFormControllerView 应该是 AddMyFormControllerView 和 EditMyFormControllerView 的一部分。喜欢 include 语句。
      • 只要把#include "AddMyFormControllerView.h"
      • 请再次阅读我的问题。灰色框是控制器,其中绿色部分是我的按钮(不是 UINavigationController 的一部分),红色部分是应该显示 MyFormControllerView 控制器内容的 UIView。
      猜你喜欢
      • 2012-07-14
      • 2012-06-03
      • 2010-11-18
      • 1970-01-01
      • 2013-07-04
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      相关资源
      最近更新 更多