我来自C#和Winforms的世界,我可以在其中构建自定义UserControl并将其拖到表单上,就像它是一个常见的控件一样。有没有办法在Xcode和Interface Builder中做到这一点?
我只看过如何在运行时设置视图,但我想在设计时在窗口看到它。例如,我希望我的自定义视图列在可用的控件中。
谢谢!
西蒙
答案 0 :(得分:6)
Interface Builder 不会添加(或允许添加,现在IB插件已经废弃)自定义对象到对象库。您只能拖动现有/预设对象,但可以让IB将它们实例化为子类的实例,只要它们以相同的方式实例化即可。
E.g。 在自定义视图中拖动并将课程设置为 MyCustomViewClass
,或在滚动视图中拖动并将课程设置为 MyCustomScrollView
,或者拖动一个对象并将该类设置为 CustomObject
等等。
这是在Interface Builder中使用自定义控件的首选方式。
答案 1 :(得分:1)
基本上只是扯掉了rdelmar的评论......但我认为一张照片会有所帮助
将普通视图拖到IB中,然后选择它并执行此操作。
答案 2 :(得分:1)
您在IB中创建的每个窗口都有一个视图作为其第一个子组件。您不需要为它创建单独的自定义视图。如果你真的是它的子类,只需在检查器中更改类名。
答案 3 :(得分:0)
除了此主题中提到的有关将自定义视图名称添加到视图控制器的XIB
文件中的内容之外,您还需要覆盖您的自定义视图中的initWithCoder
。