2016-11-09 13 views
6

Swift -3でビューのコーナーの半径を変えたい場合、各コーナーの半径を次のような値に設定することができます、how to set cornerRadius for only top-left and top-right corner of a UIView?各コーナーのcornerRadius Swift 3 - iOS

コーナーの半径を次の形式で設定する方法はありますか?左上 半径:18 半径右上:18 半径右下:3 半径左下:18

+0

この回答を参照してください。http://stackoverflow.com/questions/10316902/rounded-corners-only-on-top-of-a-uiview/40222533#40222533 –

答えて

20

あなたは、最小値にデフォルトlayer.cornerRadiusを設定し、その後にレイヤーマスクの境界線を設定することができますより大きな価値。

let demoView = UIView(frame: CGRect(x: 100, y: 200, width: 100, height: 100)) 
demoView.backgroundColor = UIColor.red 
demoView.layer.cornerRadius = 3.0 

let maskPath = UIBezierPath(roundedRect: demoView.bounds, 
          byRoundingCorners: [.topLeft, .topRight, .bottomLeft], 
          cornerRadii: CGSize(width: 18.0, height: 0.0)) 

let maskLayer = CAShapeLayer() 
maskLayer.path = maskPath.cgPath 
demoView.layer.mask = maskLayer 
view.addSubview(demoView) 
+0

は多くのことをexpected.Thanks同じように動作します。 –

関連する問題