美文网首页
Swift只有上半部分圆角View

Swift只有上半部分圆角View

作者: 缺一门 | 来源:发表于2020-11-17 20:23 被阅读0次

经常会在业务中遇到只需要上部圆角的背景,常规方式有两种:
1.直接让设计师切图
2.自己画

先上代码

let v = UIView()
v.backgroundColor = .orange
// 圆角大小
let radius: CGFloat = 20; 
// 圆角位置
let corner: UIRectCorner = [.topLeft, .topRight]      
//frame可以先计算完成  避免圆角拉伸
let rect = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.size.width, height: 310)
let path: UIBezierPath = UIBezierPath(roundedRect: rect, byRoundingCorners: corner, cornerRadii: CGSize(width: radius, height: radius))
let maskLayer: CAShapeLayer = CAShapeLayer()
maskLayer.frame = rect;
maskLayer.path = path.cgPath
v.layer.mask = maskLayer;
return v

上述还有小tips,swift中的option类型的枚举,并不是使用|运算,而是采用集合的形式[.topLeft, .topRight]
效果图:

image.png

that's all~

相关文章

网友评论

      本文标题:Swift只有上半部分圆角View

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