我跟隨tutorial在這裏創建一個可檢查和可設計的視圖。我只是想將邊框顏色,邊框寬度和圓角邊框功能添加到UIView
中。爲什麼標記@IBInspectable的屬性不起作用?
我已成功顯示屬性。但是,無論我在故事板上設置了什麼,結果仍然像是如果他們不在那裏。沒有邊框,儘管我已將邊框設置爲寬度2和黑色。它不會在故事板和運行時顯示。我將邊框設置爲2寬度,但在運行時,我在didViewLoad上打印邊框寬度值,結果爲0.可能有什麼錯誤?
@IBDesignable extension view: UIView {
@IBInspectable var cornerRadius: CGFloat {
get {
return layer.cornerRadius
}
set {
layer.cornerRadius = newValue
layer.masksToBounds = newValue > 0
}
}
@IBInspectable var borderWidth: CGFloat {
get {
return layer.borderWidth;
}
set {
layer.borderWidth = borderWidth;
}
}
@IBInspectable var borderColor: UIColor? {
get {
return UIColor(CGColor: layer.borderColor!);
}
set {
layer.borderColor = borderColor?.CGColor
}
}
}
這不工作之一:
@IBDesignable class BOView: UIView {
@IBInspectable var cornerRadius: CGFloat {
get {
return layer.cornerRadius
}
set {
layer.cornerRadius = newValue
layer.masksToBounds = newValue > 0
}
}
@IBInspectable var borderWidth: CGFloat {
get {
return layer.borderWidth;
}
set {
layer.borderWidth = borderWidth;
}
}
@IBInspectable var borderColor: UIColor? {
get {
return UIColor(CGColor: layer.borderColor!);
}
set {
layer.borderColor = borderColor?.CGColor
}
}
}
有你在IB打開菜單'Editor'➜'自動刷新Views'? – holex
@holex該選項已打開。 –
請參閱本教程:https://iosdevcenters.blogspot.com/2017/07/how-to-use-ibinspectable-in-swift-30.html –