為UIButton設置一側(cè)直邊一側(cè)圓角
1尊剔、在項目中新建UIButton+Radius.swift
import UIKit
public extension UIButton{
/** 部分圓角
* - corners: 需要實現(xiàn)為圓角的角,可傳入多個
* - radii: 圓角半徑
*/
func corner(byRoundingCorners corners: UIRectCorner, radii: CGFloat) {
let maskPath = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: corners, cornerRadii: CGSize(width: radii, height: radii))
let maskLayer = CAShapeLayer()
maskLayer.frame = self.bounds
maskLayer.path = maskPath.cgPath
self.layer.mask = maskLayer
}
}
2丹弱、調(diào)用corner方法設置圓角
smsCodeBtn.corner(byRoundingCorners: [UIRectCorner.bottomRight,UIRectCorner.topRight], radii: 5)
3隘截、效果
4、這種方式設置圓角會離屏渲染洛姑,有可能導致性能問題上沐。我這里view只有一個屏幕,問題不大楞艾。
5参咙、另外一個很簡單的解決圓角按鈕的方法,一行代碼也不需要硫眯。讓UI給你切一個蕴侧。??????