如何使用IBDesignable类在情节提要中创建可编辑的值?

问题描述

我想知道如何为UITextView创建可重用的@IBDesignable类,通过它我可以直接从Storyboard中更改边框宽度,颜色等?

谢谢!

解决方法

您将值重新路由到视图的图层,如下所示:

@IBDesignable class TextView: UITextView {
    @IBInspectable var borderColor: UIColor? {
        set {
            layer.borderColor = newValue?.cgColor
        }
        get {
            guard let borderColor = layer.borderColor else {
                return nil
            }
            return UIColor(cgColor: borderColor)
        }
    }
    
    @IBInspectable var borderWidth: CGFloat {
        set {
            layer.borderWidth = newValue
        }
        get {
            return layer.borderWidth
        }
    }
}