Round Top Corners of a UIButton in Swift

前端 未结 10 1901
情深已故
情深已故 2020-11-27 16:33

I know I can round all four corners using:

 myBtn.layer.cornerRadius = 8
 myBtn.layer.masksToBounds = true

Since I only want to round two,

10条回答
  •  [愿得一人]
    2020-11-27 17:15

    Adding Extension of UIButton:

    extension UIButton{
        func roundedButton(){
            let maskPath1 = UIBezierPath(roundedRect: bounds,
                byRoundingCorners: [.topLeft , .topRight],
                cornerRadii: CGSize(width: 8, height: 8))
            let maskLayer1 = CAShapeLayer()
            maskLayer1.frame = bounds
            maskLayer1.path = maskPath1.cgPath
            layer.mask = maskLayer1
        }
    }
    

    Calling in viewDidAppear/viewDidLayoutSubviews:

    btnCorner.roundedButton()
    

    Button Corner OutPut:

提交回复
热议问题