有什麼方法可以在Swift中設置UIView和UIViewController的子類,以使用Xcode界面構建器創建的所有新UIView都使用我的子類中的默認值。子類化UIView,UIViewController並在故事板和界面生成器中直觀地顯示默認值
換句話說,如果我創建的UIView的子類的代碼:
import UIKit
@IBDesignable
class GenericUIView: UIView {
// MARK: Initialization
@IBInspectable
var myBackgroundColor : UIColor = UIColor.orange
override init (frame: CGRect) {
super.init(frame: frame)
setup()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setup()
}
func setup() {
self.layer.backgroundColor = (myBackgroundColor as! CGColor)
}
}
什麼我需要做的,這樣我可以立即看到在Xcode中的Interface Builder中的變化?
我希望能夠主題我的應用程序,而無需手動編輯所有屬性,仍然可以直觀地看到它們,而無需構建解決方案。我知道這是可能的重寫drawRect(),但這可能會減慢我的應用程序的性能,當它可能只是設置背景和文本顏色。
請儘可能在Swift語言中提供解決方案。
Patrick
'UIView'已經有一個'backgroundColor'屬性,是在Interface Builder視察;你爲什麼要爲已經存在的包添加一個包裝屬性? – jlehr
我試圖讓它們默認爲我將創建的所有新的UIView&UIViewControllers。我不想閱讀我的所有觀點來隨時編輯和更改顏色。 –