我试图找出如何分辨我的两个圆形框架是否相交。由于它们是圆形的,因此我无法使用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/