对新手说:不论是UIButton,UILabel等,都是继承自UIView类,所以该拓展通用。
具体代码如下:
import UIKit
extension UIView {
//设置圆角
public func setCornerRadius(cornerRadius:CGFloat, masksToBounds:Bool = true){
self.layer.cornerRadius = cornerRadius
self.layer.masksToBounds = masksToBounds
}
//设置阴影
//预设一组常用的参数
public func setShadow(color:CGColor = UIColor.darkGray.cgColor,
offset:CGSize = CGSize(width: 2, height: 2),
radius:CGFloat = 5,
opacity:Float = 1){
self.layer.shadowColor = color
self.layer.shadowOffset = offset
self.layer.shadowRadius = radius
self.layer.shadowOpacity = opacity
self.layer.masksToBounds = false
}
}
使用方法
let label = UILabel()
label.setShadow()
label.setCornerRadius(cornerRadius: 10)
说明:虽然我们只写了一个 setShadow 方法,但是使用 label.setShadow() 之后会出现两个同名方法一个需要传参数,一个不需要。这是因为我们添加了初始值,我们可以选择不传或者传入部分参数。