将UINavigationItem设为@IBDesignable

Mar*_*vec 2 uinavigationitem ios swift ibdesignable

我想制作自定义UINavigationItem,并且可以在故事板中进行更改.我知道如何UIView使用@IBDesignable和定制@IBInspectable,但我的问题是UINavigationItem没有draw方法,required init?(coder aDecoder: NSCoder)很快就会被调用.

如何解决这个问题的最佳方法是什么?

Art*_*nko 6

不幸的是,不可能UINavigationItem在界面构建器中进行自定义渲染(@IBDesignable意味着什么).在文档(实时渲染部分)中,他们说你必须从UIView/ 继承一个类NSView.反过来,UINavigationItem是继承自NSObject.

实时渲染

您可以使用两个不同的属性 - @ IBDesignable和@ IBInspectable - 在Interface Builder中启用实时交互式自定义视图设计.创建从UIView类或NSView类继承的自定义视图时,可以在类声明之前添加@IBDesignable属性.将自定义视图添加到Interface Builder后(通过在检查器窗格中设置视图的自定义类),Interface Builder将在画布中呈现视图.