为UIButton设置一侧直边一侧圆角
1、在项目中新建UIButton+Radius.swift
import UIKit
public extension UIButton{
/** 部分圆角
* - corners: 需要实现为圆角的角,可传入多个
* - 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、调用corner方法设置圆角
smsCodeBtn.corner(byRoundingCorners: [UIRectCorner.bottomRight,UIRectCorner.topRight], radii: 5)
3、效果
4、这种方式设置圆角会离屏渲染,有可能导致性能问题。我这里view只有一个屏幕,问题不大。
5、另外一个很简单的解决圆角按钮的方法,一行代码也不需要。让UI给你切一个。??????