繁体   English   中英

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

[英]Custom UIView built with Interface Builder accessible/positionable via Interface Builder

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

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

谢谢

为此,您必须为Interface Builder创建一个使用自定义控件类的插件。 只要创建并安装插件,就可以通过拖放操作将视图实例添加到Interface Builder中的另一个窗口或视图中。 要了解有关创建IB插件的信息,请参阅“ 界面生成器插件编程指南”和Aaron Hillegass的书“ Cocoa Programming for Mac OS X”中创建自己的IB调色板控件一章。

以下是对类似问题的接受答案的原始作者的链接。

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

如何在Interface Builder中获取视图以在另一个笔尖中加载自定义视图?

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM