前言
iOS开发的时候,经常遇到需要对UIView进行自定义,例如,增加自定义颜色的边框,圆角、或者阴影,我们可以通过扩展UIView来实现,并可以进行可视化的修改。如下图:
就可以轻松修改边框颜色(Border Color)、边框线条粗细(Border Width)、是否增加阴影(Shadow)、圆角的曲率半径(Corner Radius)
实现
新建CustView.swift(文件名称可修改),保存路径随意,内容如下:
@IBDesignable class DesignableUIView: UIView { @IBInspectable var borderColor: UIColor? { get { if let color = layer.borderColor { return UIColor(cgColor: color) } return nil } set { if let color = newValue { layer.borderColor = color.cgColor } else { layer.borderColor = nil } } } @IBInspectable var borderWidth: CGFloat { get { return layer.borderWidth } set { layer.borderWidth = newValue } } @IBInspectable var shadow: Bool { get { return layer.shadowOpacity > 0.0 } set { if newValue == true { self.addShadow() } } } @IBInspectable var cornerRadius: CGFloat { get { return self.layer.cornerRadius } set { self.layer.cornerRadius = newValue // Don't touch the masksToBound property if a shadow is needed in addition to the cornerRadius if shadow == false { self.layer.masksToBounds = true } } } open override func prepareForInterfaceBuilder() { super.prepareForInterfaceBuilder() layer.borderWidth = borderWidth layer.borderColor = borderColor?.cgColor } }
我们新建了一个DesignableUIView,这个就是扩展自UIView,并可以进行可视化修改边框等属性的自定义View
使用
使用方法很简单,在StoryBorard里拖一个UIView进去,然后修改Custom Class为:DesignableUIView,如下图:
然后就可以和最上面那张图里面的一样,修改边框等属性,并实时显示在StoryBoard里了,很简单!
文章评论