3
A
답변
2
가장 쉬운 방법은 일반 UIView
인스턴스로 2 개의 원을 만들고 그 중심을 부모보기의 왼쪽 및 오른쪽 가장자리로 설정하는 것입니다.
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을 만들었습니다. 내 시뮬레이터에서 어떻게 보이는지 여기에 (아이폰 SE 11.2)입니다 :
가 정말 고마워요 ...이 일 ... –