如何在Objective-C中创建可在故事板中的多个视图中使用的公共控件?

时间:2011-10-26 05:33:35

标签: objective-c ios xcode controls storyboard

我刚刚开始使用xCode 4.2进行iOS开发,并发现了故事板。它们似乎非常适合快速原型设计。

我想知道的是如何创建我可以在多个视图中使用的自定义控件。

例如,假设我想要一个在每个视图中都很常见的自定义标题栏。我想我应该能够用它自己的控制器定义该控件,并从多个视图中实例化它。我只是不知道如何,到目前为止我读过的教程和问题都没有解决这个问题。

任何提示?

1 个答案:

答案 0 :(得分:7)

我发现一种方法是执行以下步骤:

  1. 创建一个新的xib文件并将模拟指标设置为“自由形式”以允许调整大小。 (MyControl.xib)
  2. 使用控件中我想要的对象填充控件。
  3. 为视图创建一个UIViewController。 (MyViewController.h & MyViewController.m)
  4. File's Owner的{​​{1}}设置为自定义类MyControl.xib
  5. 在我想要包含控件的xib中,我将UIScrollView放在我想要控件的位置(常规View也可以工作)。 (MyViewController
  6. Parent.xib创建一个IBOutlet,我将把控件放入UISCrollView
  7. ParentController
  8. 中创建MyViewController的实例
  9. ParentController中,添加ParentController的视图作为MyViewController的子视图。
  10. 在代码中,这意味着

    UIScrollView

    这似乎有效并且允许我将Control和Parent的实现分开,但我不禁想到有更好的方法。