如何在Swift 4.2中将UIView制成圆形?

时间:2018-11-25 07:38:50

标签: ios swift

UIView的width(40)和height(40)相等。

我尝试了这些,但是它们对我没有用:

countView?.clipsToBounds = true
self.countView?.layer.cornerRadius = min((countView?.frame.size.width)!, (countView?.frame.size.height)!)/2

还有

self.countView.layer.cornerRadius = (countView.frame.size.width)/2

谢谢

2 个答案:

答案 0 :(得分:3)

除了@Stephan答案。

使用更少的代码:

self.countView.layer.cornerRadius = self.countView.bounds.size.height / 2

结果:

img

答案 1 :(得分:0)

您可以像这样使用遮罩层:

override func viewDidLoad() {
    super.viewDidLoad()

    let maskLayer = CAShapeLayer()
    maskLayer.path = UIBezierPath(ovalIn: self.countView.bounds).cgPath;
    self.countView.layer.mask = maskLayer
}

示例输出

这里是宽度/高度= 128/128的UIView的输出:

example output