如何在swift中剪切uiview的边缘
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在swift中剪切uiview的边缘相关的知识,希望对你有一定的参考价值。
答案
我认为最简单的方法是创建2个圆作为普通的UIView
实例,并将它们的中心分别设置为父视图的左右边缘。
由于您将clipsToBounds
设置为true
,它们将被剪裁,并且屏幕上只能显示其中一半。
public class TestView: UIView {
private let leftCircle = UIView(frame: .zero)
private let rightCircle = UIView(frame: .zero)
public var circleY: CGFloat = 0
public var circleRadius: CGFloat = 0
public override init(frame: CGRect) {
super.init(frame: frame)
clipsToBounds = true
addSubview(leftCircle)
addSubview(rightCircle)
}
public override func layoutSubviews() {
super.layoutSubviews()
leftCircle.frame = CGRect(x: -circleRadius, y: circleY,
width: circleRadius * 2 , height: circleRadius * 2)
leftCircle.layer.masksToBounds = true
leftCircle.layer.cornerRadius = circleRadius
rightCircle.frame = CGRect(x: bounds.width - circleRadius, y: circleY,
width: circleRadius * 2 , height: circleRadius * 2)
rightCircle.layer.masksToBounds = true
rightCircle.layer.cornerRadius = circleRadius
}
}
我创造了一个sample project来证明这一点。以下是它在我的模拟器中的外观(iPhone SE 11.2):
以上是关于如何在swift中剪切uiview的边缘的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Swift 通过代码库增加和减少 UIView 高度