我创建了具有IBDesignable方法启用的自定义UIView类。 在类内部,我添加了一些类似于以下内容的IBInspectable属性,
Swift 4.0-代码段:
@IBDesignable
class SegmentView: UIView {
@IBInspectable var borderWidth = 0.0 {
didSet{
layer.borderWidth = CGFloat(borderWidth)
}
}
@IBInspectable var borderColor = UIColor.clear {
didSet{
layer.borderColor = borderColor.cgColor
}
}
}
每当我在StoryBoard中为UIView元素使用此类时,我都无法在故事板->视图->视图属性选项卡中查看以上声明的IBInspectable属性,以供参考,请检查以下所附的屏幕截图。
问题:在上述细分视图标题中,没有可用的IBInspectable属性。
有人可以帮助我解决上述问题吗?
先谢谢了。
答案 0 :(得分:1)
您需要显式声明变量类型,例如:
@IBDesignable
class SegmentView: UIView {
@IBInspectable var borderWidth: CGFloat = 0.0 {
didSet {
layer.borderWidth = CGFloat(borderWidth)
}
}
@IBInspectable var borderColor: UIColor = .clear {
didSet {
layer.borderColor = borderColor.cgColor
}
}
}
答案 1 :(得分:1)
请使用以下变量替换它,它将解决您的问题。
@IBInspectable
public var borderWidth: CGFloat = 0.0{
didSet{
self.layer.borderWidth = self.borderWidth
}
}
@IBInspectable
public var borderColor: UIColor = UIColor.clear{
didSet{
self.layer.borderColor = self.borderColor.cgColor
}
}