Dans des questions comme Comment dessiner un cercle lisse ... , ... Dessiner un cercle ... et ... dessiner des cercles remplis le la question et la réponse sont très larges, contiennent de nombreuses étapes inutiles et les méthodes utilisées ne sont pas toujours les plus faciles à recréer ou à gérer.
Comment dessiner facilement un cercle et l'ajouter à mon UIView
?
Un moyen simple de dessiner un cercle consiste à créer un CAShapeLayer
et à ajouter un UIBezierPath
.
CAShapeLayer *circleLayer = [CAShapeLayer layer];
[circleLayer setPath:[[UIBezierPath bezierPathWithOvalInRect:CGRectMake(50, 50, 100, 100)] CGPath]];
let circleLayer = CAShapeLayer();
circleLayer.path = UIBezierPath(ovalIn: CGRect(x: 50, y: 50, width: 100, height: 100)).cgPath;
Après avoir créé le CAShapeLayer
, nous définissons son path
comme un UIBezierPath
.
Notre UIBezierPath
dessine alors un bezierPathWithOvalInRect
. Le CGRect
que nous définissons affectera sa taille et sa position.
Maintenant que nous avons notre cercle, nous pouvons l'ajouter à notre UIView
en tant que sublayer
.
[[self.view layer] addSublayer:circleLayer];
view.layer.addSublayer(circleLayer)
Notre cercle est maintenant visible dans notre UIView
.
Si nous voulons personnaliser les propriétés de couleur de notre cercle, nous pouvons facilement le faire en définissant la couleur de CAShapeLayer
stroke
- et fill
.
[circleLayer setStrokeColor:[[UIColor redColor] CGColor]];
[circleLayer setFillColor:[[UIColor clearColor] CGColor]];
shapeLayer.strokeColor = UIColor.red.cgColor;
shapeLayer.fillColor = UIColor.clear.cgColor;
Des propriétés supplémentaires peuvent être trouvées dans la documentation de sur le sujet https://developer.Apple.com/.../CAShapeLayer_class/index.html .