自定义XIB内视图属性

2018-09-27  本文已影响7人  啊俊吖

我们经常会在用一些自定义 UIView 来完成一些特殊的UI效果,但是怎么让我自定义的 UIView 在 Storyboard 中预览和修改一些自定义参数呢。这就需要用到两个吊吊的东西。

IB_DESIGNABLE 让你的自定 UIView 可以在 IB 中预览。
IBInspectable 让你的自定义 UIView 的属性出现在 IB 中 Attributes inspector 。

import UIKit
@IBDesignable
extension UIView{
    /// 圆角
    @IBInspectable var cornerRadius: CGFloat {
        set{
            layer.cornerRadius = newValue
        }
        get{
            return  layer.cornerRadius 
        }
    }
    
    /// 边框颜色
    @IBInspectable var borderColor: UIColor {
        set{
            layer.borderColor = newValue.cgColor
        }
        get{
            return  layer.borderColor == nil ? UIColor(cgColor: layer.borderColor!) : UIColor.white
        }
    }
    /// 边框宽度
    @IBInspectable var borderWidth: CGFloat {
        set{
            layer.borderWidth = newValue
        }
        get{
            return  layer.borderWidth
        }
    }
    /// 裁剪
    @IBInspectable var masksToBounds: Bool {
        set{
            layer.masksToBounds = newValue
        }
        get{
            return  layer.masksToBounds
        }
    }
}

上一篇下一篇

猜你喜欢

热点阅读