如何在Interface Builder中显示自定义UIView?

时间:2009-01-30 04:56:32

标签: objective-c xcode interface-builder ibplugin

我似乎很乐意设计实现自己的UIViews方法的新UIControls-drawRect:。这对我来说很有用,特别是在 Interface Builder 中使用UIViews编写时。

但是在Interface Builder中编写它们很烦人,因为它们只是显示为无聊的普通矩形。

如果视图实际上将自己呈现为内置控件,那将会很棒。

我有什么方法可以构建我的项目,以便Interface Builder可以呈现我的自定义视图吗?

2 个答案:

答案 0 :(得分:18)

为此,您实际上必须为使用自定义类的Interface Builder创建一个插件。一旦创建并安装了插件,您就可以将类(您的视图)的实例拖放到另一个窗口/视图/任何其他控件上。要开始创建IB插件,请参阅Interface Builder Plug-In Programming Guide。另外,我建议你看看Aaron Hillegass的书 Cocoa Programming for Mac OS X 。除了写得很好且易于理解之外,它还有一章介绍如何创建自己的IB调色板控件。

答案 1 :(得分:0)

这可以通过使用@IBDesignable标记UIView子类来实现。执行此操作后,您的自定义视图将在Interface Builder中呈现。您甚至可以通过将参数标记为@IBInspectable来添加可配置的参数。这是一个Swift示例:

@IBDesignable class customView: UIView {

    @IBInspectable var count: Int = 0

}

有一个article on NSHipster可以提供更多细节。