答案 0 :(得分:2)
我建议你参考@rob_mayoff
给出的answer您应该使用要显示的图像创建圆形贝塞尔曲线路径。请注意,只有当您想要在圆上均匀分布相同的图像时,此方法才有效。如果您希望将不同的图像均匀分布在圆上,那么你应该付出更多的努力。
您可以尝试两种方式:
我会尝试对此做一个粗略的想法:
考虑你有一个主圆,其中心位于(x0,y0)。并且您希望通过将圆圈划分为' n'来将图像放置在此圆上。部分。这样你就可以放置' n'此主圆上的imageView数量。 ' n'部件在下图中用绿线表示。
每条绿线之间的角度为360deg / n
不,我们需要每条绿线的终点。哪个可以从:
获得 sub.x = x0 + r * cos(angle);
sub.y = y0 + r * sin(angle);
其中r是主圆的半径。
这是一个子圆圈。在你的情况下,你有' n'子圆的数量,所以让我们循环来获得所有子圆心点:
for(i = 1 to n)
{
angle = i * (360/n);
sub.x = x0 + r * cos(angle);
sub.y = y0 + r * sin(angle);
}
现在,您可以在每个“&n”处画一条圆形贝塞尔曲线。 sub(x,y)points
使用addArcWithCenter:center
,其中中心将是计算的子(x,y)