0

我正在使用 XCode 4.5。对于我当前的项目,我需要构建一个类似于文本字段的 UI 元素。因为我将不得不在一大堆 ViewControllers 中重用这个自定义元素,所以我正在寻找一种方法来构建这个自定义文本字段,以便我可以在 XCode 界面构建器中使用它进行拖放,而不是添加它只是以编程方式(这是我到目前为止发现的)。

我怎样才能做到这一点?我正在寻找一个在一个简单的示例项目中解释整个过程的教程。

规格:

我想要的结果是拥有一个自定义 UIView,我可以像使用其他所有预定义的 UI 元素(例如文本字段)一样使用它。这意味着我希望能够将它从对象库拖放到我的故事板中的某个控制器中,使用属性检查器编辑其属性,尤其是自定义属性,并获得有关 IB 中更改的视觉反馈。我不想一遍又一遍地将预定义的 UIView 子类化,原因有两个:

  1. 首先,为预定义的 UI 元素添加自定义子类意味着更多的工作,因为我需要为我需要自定义的每个元素一遍又一遍地重复这一点。我的应用程序的整个视觉部分或多或少将构建自定义 UI 元素,以匹配我必须为我的客户实现的特定设计。
  2. 其次,更重要的是,如果我通过在应该包含自定义功能的子类中自定义其外观以编程方式构建它的最大部分,我真的不知道我的 UI 最终将如何显示。
  3. 最后,我认为通过生成我的程序的静态 UI 部分来打破 iOS SDK 提供的漂亮的 MVC 分离是一种不好的编码实践,这些部分在运行时永远不会在控制器部分以编程方式更改。

这就是为什么我需要设计一个自定义 UI 元素(我们称其为相应的类 UITextFieldCustom),我可以在设计 UI 的过程中使用它,就像任何其他预制库对象(如文本字段)一样。那可能吗?

4

3 回答 3

2

这将需要一个 Interface Builder 插件 (IBPlugin)。不幸的是,对此的支持在 Xcode 4 中被删除,但存在于 Xcode 3 中。似乎也从 Apple Developer Library 中删除了此功能的文档。可以在http://www.brandonwalkin.com/bwtoolkit/找到使用 IBPlugin 实现的自定义控件的示例。

于 2012-11-16T18:16:28.683 回答
0

就像 'titaniumdecoy' 指出的那样,是一个很好的解决方案:将内置类型拖到情节提要中,例如文本字段。然后在实用工具栏中的身份检查器中定义自定义类,例如 MyTextField。

于 2013-01-24T08:27:23.543 回答
0

您可以简单地复制粘贴它,在 IB 中选择您的 uiview 按 CMD + C 然后转到要粘贴的其他 nib 文件,单击空白区域并按 CMD + V

于 2012-11-16T17:40:42.557 回答