2017-02-14 24 views
5

Tôi đang sử dụng UIBezierPath để vẽ đường cong. Tuy nhiên, đường cong hoạt động, tôi không thể uốn cong các cạnh của đường kẻ.UIBezierPath - Thêm góc tròn

enter image description here

Nếu bạn nhìn vào đầu/kết thúc phía dưới của đường cong, bạn có thể thấy rằng các cạnh được làm phẳng ra, đó không phải là điều tôi muốn. Có cách nào để vẽ đường viền không?

Tôi đang sử dụng đơn giản UIBezierPath để vẽ vòng tròn bán hầu như (gần như). Điều này tạo ra hình dạng đường cong mà tôi muốn:

CAShapeLayer *circle = [CAShapeLayer layer]; 
circle.path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(0, 0) radius:70 startAngle:1.0472 endAngle:5.23599 clockwise:NO].CGPath; 
circle.fillColor = [UIColor clearColor].CGColor; 
circle.strokeColor = [UIColor colorWithWhite:1.0 alpha:0.2].CGColor; 
circle.lineWidth = 18.0; 
circle.cornerRadius = 10.0; 
circle.position = CGPointMake(100, 100); 
circle.anchorPoint = CGPointMake(0.5, 0.5); 
[mainView.layer addSublayer:circle]; 

Mặc dù đặt thuộc tính cornerRadius, các góc không bị cong. Tôi đang làm gì sai?

Cảm ơn thời gian của bạn, Dan.

Trả lời

7

Bao gồm các mục sau.

circle.lineCap = kCALineJoinRound; 

Đối Swift 3,0

circle.lineCapStyle = .Round; 
+0

Điều đó hoạt động hoàn hảo, cảm ơn! – Supertecnoboff

1

Swift 4,0

circle.lineCap = kCALineCapRound 

và nếu bạn muốn dòng nút giao thông của bạn để cũng được làm tròn thiết

circle.lineJoin = kCALineCapRound 

.