我试图找出如何分辨我的两个圆形框架是否相交。由于它们是圆形的,因此我无法使用cgrectintersectsrect,并且不确定如何进行此操作。是否有cgframeintersectsframe或类似的东西?

对于我的一轮uiimageviews

circle1 = [[uiimageview alloc] initwithframe:cgrectmake (100,100,50,50);
circle1.layer.cornerradius = 25;
circle1.clipstobounds = yes;
[self.view addsubview:circle1];


另一个圆基本上也一样,除了x和y的原点不同
我也今天进口石英芯

最佳答案

只需计算圆心之间的距离,然后检查它是否小于半径:

float distanceBetweenCenters = sqrt(pow(circle1.center.x - circle2.center.x, 2) +
                                   pow(circle1.center.y - circle2.center.y, 2));
BOOL isIntersecting = distanceBetweenCenters <= 2 * radius;


这将告诉您圆圈是相交还是相互接触。将<=替换为<以排除“触摸”。

关于ios - 圆形框架相交,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23187386/

10-09 10:16