美文网首页
Swift-UIButton部分圆角

Swift-UIButton部分圆角

作者: nooob | 来源:发表于2017-08-24 16:12 被阅读0次

为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、效果

image.png

4、这种方式设置圆角会离屏渲染,有可能导致性能问题。我这里view只有一个屏幕,问题不大。
5、另外一个很简单的解决圆角按钮的方法,一行代码也不需要。让UI给你切一个。😂😂😂

相关文章

网友评论

      本文标题:Swift-UIButton部分圆角

      本文链接:https://www.haomeiwen.com/subject/iyjedxtx.html