滑らかな円を描く方法... 、 ...円を描く... 、および ...塗りつぶされた円を描く 質問と回答は非常に広く、多くの不要な手順が含まれており、使用する方法が常に最も簡単に再作成または管理できるとは限りません。
円を描いてUIView
に追加する簡単な方法は何ですか?
円を描く簡単な方法は、CAShapeLayer
を作成し、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;
CAShapeLayer
を作成したら、そのpath
をUIBezierPath
に設定します。
UIBezierPath
はbezierPathWithOvalInRect
を描画します。設定したCGRect
は、サイズと位置に影響します。
サークルができたので、UIView
としてsublayer
に追加できます。
[[self.view layer] addSublayer:circleLayer];
view.layer.addSublayer(circleLayer)
これで、UIView
にサークルが表示されます。
円の色プロパティをカスタマイズする場合は、CAShapeLayer
のstroke
-およびfill
色を設定することで簡単にカスタマイズできます。
[circleLayer setStrokeColor:[[UIColor redColor] CGColor]];
[circleLayer setFillColor:[[UIColor clearColor] CGColor]];
shapeLayer.strokeColor = UIColor.red.cgColor;
shapeLayer.fillColor = UIColor.clear.cgColor;
追加のプロパティについては、の件名に関するドキュメント https://developer.Apple.com/.../CAShapeLayer_class/index.html を参照してください。