對新手說:不論是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() 之後會出現兩個同名方法一個需要傳參數,一個不需要。這是因爲我們添加了初始值,我們可以選擇不傳或者傳入部分參數。