No puede networkingondear casquillos en UIBezierPath Arc incluso con kCGLineCapRound

No puedo mostrar mayúsculas networkingondeadas en mi Arc creado con UIBezierPath. Todavía está perfectamente cuadrado, independientemente de que establezca kCGLineCapRound o no.

Este tema debería ser el mismo, pero la solución no funciona.

Aquí está el código de ejemplo que tengo en viewWillAppear (solo para propósitos de testing):

int radius = 100; CAShapeLayer *arc = [CAShapeLayer layer]; UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(100, 50) radius:radius startAngle:M_PI endAngle:M_PI/150 clockwise:YES]; path.lineCapStyle = kCGLineCapRound; arc.path = path.CGPath; arc.position = CGPointMake(CGRectGetMidX(self.view.frame)-radius, CGRectGetMidY(self.view.frame)-radius); arc.fillColor = [UIColor clearColor].CGColor; arc.strokeColor = [UIColor purpleColor].CGColor; arc.lineWidth = 10.0f; arc.cornerRadius = 3.0f; 

Así es como se ve:

whyy

Estoy desvalido, por lo que agradecería cualquier ayuda. Gracias chicos.

Utilice la propiedad lineCap de CAShapeLayer lugar de lineCapStyle de la ruta.

 arc.lineCap = kCALineCapRound; 

Si está llamando al método de stroke de ruta (por ejemplo, si está haciendo esto en drawRect o dibujando manualmente en un UIGraphicsContext ), establezca attributes como el límite o los styles de unión en UIBezierPath . Pero cuando se usa CAShapeLayer , los attributes se establecen en la capa de forma, no en la ruta.