使用Interface Builder构建的自定义UIView可通过Interface Builder访问/定位

时间:2009-11-09 00:11:53

标签: iphone uiview interface-builder

这应该不会令人困惑。我有一个自定义的UIView,上面有一堆控件。 UILabels,按钮等我使用Interface Builder创建了这个Nib。我希望能够使用界面构建器将此自定义uiview放在另一个UIView上。

如何将我的UIView自定义类链接到nib? initWithCoder被调用,但我希望这个类从nib加载。

由于

4 个答案:

答案 0 :(得分:3)

为此,您必须为Interface Builder创建一个使用自定义控件类的插件。只要创建并安装插件,就可以通过拖放操作将视图实例添加到Interface Builder中的另一个窗口或视图中。要了解有关创建IB插件的信息,请参阅Interface Builder Plug-In Programming Guide以及Aaron Hillegass的书籍Cocoa Programming for Mac OS X中有关创建自己的IB调色板控件的章节。

Here是指向a similar question的已接受答案的原始作者的链接。

答案 1 :(得分:2)

如果您希望自定义视图在您正在使用它的笔尖中正确绘制,则只需要创建一个插件。您可以进行自定义控件,然后将其显示为空白矩形,直到在运行期间实例化为止。

How do I get a view in Interface Builder to load a custom view in another nib?

答案 2 :(得分:0)

您可以使用Interface Builder插入UIViewController对象,然后设置UIViewController的“Nib名称”属性。 我不知道这是否会弄乱你的模特,但我认为这是你做你想做的事情的唯一方法。

答案 3 :(得分:0)

在IB中打开Identity Inspector工具(Command-4),然后选择自定义视图,在“类”弹出窗口中选择自定义类的名称,而不是通用UIView。您可能还想将它连接到ivar。在ViewController中声明一个自定义类的实例,前面有一个IBOutlet。然后返回并调出Connections Inspector并将视图连接到ivar,方法是从自定义视图的引用插座单击拖动到File的所有者(应该是ViewController的一个实例)并选择ivar名称。

加载NIB时,应该创建该类型的对象并将其连接到该变量。