ale*_*wis 1 ios uistoryboard uibackgroundcolor swift ibdesignable
我有一个UIView是@IBDesignable
@IBDesignable
class MyView: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
sharedInit()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
sharedInit()
}
private func sharedInit(){
translatesAutoresizingMaskIntoConstraints = false
backgroundColor = .blue
}
}
Run Code Online (Sandbox Code Playgroud)
当我将其放置UIView在情节提要中并MyView在“ 身份”检查器中将其类分配给时,UIView仍然具有默认的背景色。为什么其背景颜色不在UIColor.blue情节提要中?而且,请问我该怎么做呢?
谢谢你的帮助。
我建议您在创建@IBDesignable类时要做很多事情:
willSet该属性中设置要更改的更改,该更改是更改的观察者UIView简单容易!
您的代码应如下所示:
import UIKit
@IBDesignable
class myView: UIView {
@IBInspectable var storyBoardColor : UIColor = .red {
willSet(newValue) {
self.backgroundColor = newValue
}
}
fileprivate func sharedInit(){
translatesAutoresizingMaskIntoConstraints = false
backgroundColor = storyBoardColor
}
override func prepareForInterfaceBuilder() {
super.prepareForInterfaceBuilder()
sharedInit()
}
}
Run Code Online (Sandbox Code Playgroud)
myView的storyBoardColor的初始值为红色,您可以从storyBoard更改它;)
| 归档时间: |
|
| 查看次数: |
894 次 |
| 最近记录: |