2012-11-16 28 views
0

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

我该如何做到这一点? 我正在寻找一个教程,解释一个简单的示例项目中的整个过程。

规格:

结果我要为被具有我可以使用就像所有其他预先定义的UI元素(例如一个文本框)的自定义的UIView。这意味着我希望能够将&从对象库拖放到故事板中的某个控制器中,使用属性检查器编辑它的属性(特别是自定义属性),并获得关于IB中更改的可视反馈。我不想一遍又一遍的预定义子类UIViews,原因有二:

  1. 首先,添加自定义一个子类,以预先定义的UI元素意味着更多的工作,因为我需要再次重复一遍又一遍,每我需要自定义的单个元素。或多或少我的应用程序的整个视觉部分将建立自定义用户界面元素,以匹配我必须为我的客户实现的特定设计。
  2. 其次,更重要的是,我从字面上没有得到图片,如果我通过在应该保存自定义功能的子类中定制它的外观以编程方式构建它的最大部分,我的UI将最终出现。
  3. 最后,我认为这是一种糟糕的编码习惯,通过生成我的程序的静态UI部分来打破iOS SDK提供的美丽的MVC分离,这在运行时不会在控制器部分以编程方式更改。

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

+1

查看http://stackoverflow.com/questions/5400493/how-do-i-add-custom-uibutton-to-nib-file-in-xcode/5400519#5400519 – titaniumdecoy

+0

嗯,也许我的问题不是特定的足够。我不希望通过向其添加自定义子类来自定义预定义UI元素的行为,因为这意味着我想要避免的情况,通过自定义手动和编程方式自定义大量的用户界面对于每一个元素,一次又一次地以相同的方式进行子类化。我想要的是(甚至可能)是构建一个自定义,可重用的视图元素,我可以拖放到我的界面并使用它,就像任何预定义的元素一样。 –

+0

这听起来像你正在描述一个IBPlugin;这些在Xcode 4+中不再被支持:http://www.osomac.com/2011/03/18/remove-ib-plugins-from-xcode/ – titaniumdecoy

回答

2

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

+0

Thx!我要谷歌更多的信息,然后回来。 –

0

你可以简单地复制粘贴,选择IB按CMD + C,其中要粘贴它,然后转到其他笔尖文件你的UIView,单击空白区域,然后按CMD + V

+2

嗯,thx为您的答案。因为我相对较新的Xcode和iOS开发,我见过的唯一接口相关文件是故事板。我想要的结果是不复制粘贴,但有一个自定义UIView,我可以像使用其他预定义元素(如文本框)一样使用它。 –

0

像'titaniumdecoy'指出here是一个很好的解决方案:将内置类型拖入故事板,例如,一个文本框。然后在实用工具栏中的身份检查器中定义自定义类,例如myTextField将。

相关问题