在自定义视图类的情节提要中无法看到IBInspectable自定义属性

时间:2018-07-27 09:51:58

标签: ios swift uiview ibdesignable ibinspectable

我创建了具有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属性,以供参考,请检查以下所附的屏幕截图。

enter image description here

问题:在上述细分视图标题中,没有可用的IBInspectable属性。

有人可以帮助我解决上述问题吗?

先谢谢了。

2 个答案:

答案 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
                }

        }