美文网首页
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