2017-12-16 8 views

답변

2

가장 쉬운 방법은 일반 UIView 인스턴스로 2 개의 원을 만들고 그 중심을 부모보기의 왼쪽 및 오른쪽 가장자리로 설정하는 것입니다.

clipsToBoundstrue으로 설정했기 때문에 잘 리게되며 절반 만 화면에 표시됩니다.

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)입니다 :

enter image description here

+0

가 정말 고마워요 ...이 일 ... –

관련 문제