我似乎很喜欢设计实现自己的-drawRect:
方法的新UIViews
和UIControls
。这对我来说工作得很好,特别是在使用接口生成器中的UIViews
进行组合时。
但是在Interface Builder中组合它们是很烦人的,因为它们只是显示为无聊的普通矩形。
如果视图能够像内置控件那样呈现自己,那就太好了。
有没有什么方法可以组织我的项目,让Interface Builder呈现我的自定义视图?
发布于 2009-01-30 06:40:28
为了做到这一点,您实际上必须为Interface Builder创建一个使用您的自定义类的插件。一旦创建并安装了插件,就可以像其他控件一样将类(视图)的实例拖放到另一个窗口/视图/其他任何地方。要开始创建IB插件,请参阅Interface Builder Plug-In Programming Guide。另外,我推荐你看看Aaron Hillegass的书,。它不仅写得很好,而且易于理解,还有一章是关于创建你自己的IB调色板控件的。
发布于 2017-02-13 15:49:57
这可以通过用@IBDesignable
标记您的UIView子类来实现。执行此操作后,您的自定义视图将在Interface Builder中呈现。您甚至可以通过将参数标记为@IBInspectable
来添加可以配置的参数。下面是一个Swift的例子:
@IBDesignable class customView: UIView {
@IBInspectable var count: Int = 0
}
有一个article on NSHipster提供了更多细节。
https://stackoverflow.com/questions/494520
复制相似问题