我在导航 Controller 和其他UI对象上经常使用UIAppearance,但我想知道是否可以在Interface Builder中设置相关对象的样式(也许可以使用@IBDesignable的一些魔法巫术?)

最佳答案

马特对这个问题的评论是正确的。您可以在prepareForInterfaceBuilder方法中成功使用UIAppearance代理。

例子:

@IBDesignable
class MyCustomView: UIView {

    override func prepareForInterfaceBuilder() {
        MyCustomView.appearance().backgroundColor = UIColor.redColor()
    }
}

这将导致所有MyCustomView实例在IB中变为红色。

09-11 20:14