这应该不会令人困惑。我有一个自定义的UIView,上面有一堆控件。 UILabels,按钮等我使用Interface Builder创建了这个Nib。我希望能够使用界面构建器将此自定义uiview放在另一个UIView上。
如何将我的UIView自定义类链接到nib? initWithCoder被调用,但我希望这个类从nib加载。
由于
答案 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时,应该创建该类型的对象并将其连接到该变量。