iOS: una forma fácil de dibujar un círculo usando CAShapeLayer

En preguntas como Cómo dibujar un círculo suave … , … Dibujar círculo … y … dibujar círculos rellenos, la pregunta y la respuesta son muy amplias, contiene muchos pasos innecesarios y los methods utilizados no siempre son los más fácil de volver a crear o administrar.

¿Qué es una forma fácil de dibujar un círculo y agregarlo a mi UIView ?

Una manera muy fácil y directa de dibujar un círculo es crear un CAShapeLayer y agregar un UIBezierPath .

 CAShapeLayer *circleLayer = [CAShapeLayer layer]; [circleLayer setPath:[[UIBezierPath bezierPathWithOvalInRect:CGRectMake(50, 50, 100, 100)] CGPath]]; 

Después de crear el CAShapeLayer establecemos su path para ser un UIBezierPath .

Nuestro UIBezierPath luego dibuja un bezierPathWithOvalInRect . El CGRect que establecemos afectará su tamaño y position.

Ahora que tenemos nuestro círculo, podemos agregarlo a nuestra UIView como sublayer .

 [[self.view layer] addSublayer:circleLayer]; 

Nuestro círculo ahora es visible en nuestra UIView .

Circulo

Si deseamos personalizar las properties de color de nuestro círculo, podemos hacerlo fácilmente configurando el CAShapeLayer de CAShapeLayer y fill color.

 [circleLayer setStrokeColor:[[UIColor networkingColor] CGColor]]; [circleLayer setFillColor:[[UIColor clearColor] CGColor]]; 

Circle_wColors

Además, todas las properties se pueden encontrar en la documentation de on sobre el tema https://developer.apple.com/…/CAShapeLayer_class/index.html .