Bil*_*ani 1 core-graphics uikit ios uibezierpath
我想绘制一个大圆圈并放置一些较小的圆圈,如下图所示

我绘制了大卷 - (void)drawRect:(CGRect)rect
CGFloat rectX = self.frame.size.width / 2;
CGFloat rectY = self.frame.size.height / 2;
CGFloat width = self.frame.size.width-30;
CGFloat height = self.frame.size.width -30;
CGFloat centerX = rectX - width/2;
CGFloat centerY = rectY - height/2;
UIBezierPath *bezierPath = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(centerX, centerY, width, height)];
[[UIColor blackColor] set];
[bezierPath stroke];
Run Code Online (Sandbox Code Playgroud)
让我们说我想在圆上找到10个等间距的点,以绘制10个较小的红色圆圈.有智能解决方案吗?先感谢您.
圆的等式是:
x = cx + r * cos(a)
y = cy + r * sin(a)
Run Code Online (Sandbox Code Playgroud)
其中r是半径,(cx, cy)所述原点,和a在角
你可以画一个圆圈
(UIBezierPath *)bezierPathWithArcCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise
Run Code Online (Sandbox Code Playgroud)
通过使用CGPointas 中心和一些值作为半径来起作用.您可以将起始角度和结束角度设置为0和360以绘制圆圈.为小圆选择合适的半径,并使用开头提到的等式找到点并绘制圆
| 归档时间: |
|
| 查看次数: |
1203 次 |
| 最近记录: |