Objective c 找到两个矩形之间的中点,交点+边感知
如图所示,我想找到两个矩形之间的中点。如果矩形相交,则中点将位于矩形中心之间。但如果矩形不相交,则中点将位于矩形边缘之间 我想用Obj-C或Swift写这封信 thxObjective c 找到两个矩形之间的中点,交点+边感知,objective-c,swift,center,rectangles,Objective C,Swift,Center,Rectangles,如图所示,我想找到两个矩形之间的中点。如果矩形相交,则中点将位于矩形中心之间。但如果矩形不相交,则中点将位于矩形边缘之间 我想用Obj-C或Swift写这封信 thx 在这种情况下,您应该首先检查矩形是否重叠 检查是否重叠 CGRect RectA=CGRectMake50,50,50 if (CGRectGetMinX(RectA) < CGRectGetMaxX(RectB) && CGRectGetMaxX(RectA) > CGRectGetMinX(Re
在这种情况下,您应该首先检查矩形是否重叠 检查是否重叠 CGRect RectA=CGRectMake50,50,50
if (CGRectGetMinX(RectA) < CGRectGetMaxX(RectB) && CGRectGetMaxX(RectA) > CGRectGetMinX(RectB) &&
CGRectGetMinY(RectA) < CGRectGetMaxY(RectB) && CGRectGetMaxY(RectA) > CGRectGetMinY(RectB) )
{
NSLog(@"overlapped");
}
else
{
NSLog(@"Not overlapped");
}
CGRect RectB=CGRectMake100,100,50,50
if (CGRectGetMinX(RectA) < CGRectGetMaxX(RectB) && CGRectGetMaxX(RectA) > CGRectGetMinX(RectB) &&
CGRectGetMinY(RectA) < CGRectGetMaxY(RectB) && CGRectGetMaxY(RectA) > CGRectGetMinY(RectB) )
{
NSLog(@"overlapped");
}
else
{
NSLog(@"Not overlapped");
}
CGPoint centerA=CGPointMakeCGRectGetMinXRectA+CGRectGetMaxXRectA/2,CGRectGetMinYRectA+CGRectGetMaxYRectA/2 编写ObjC/Swift代码可能是最简单的问题,一旦你算出了数学题:你应该问这个问题。此外,在发布问题之前,你至少应该尝试解决它,不费吹灰之力就要求答案是不礼貌的。你还遗漏了另一种情况:如果两个矩形重叠,但中心位于两个矩形之外怎么办?我可以使用CGRectIntersectsRect而不是长if语句,但是代码没有考虑矩形的边缘。中点应位于边缘之间,而不是中心之间。