我有两个相交的地方。它们具有相同的尺寸,唯一的区别是它们中的一个比另一个低。我知道有一种方法可以得到他们的交叉点,但这不是我想要的。我实际上想要一个位于交叉点之外的区域的新矩形。
下部视图的顶部与顶部视图的底部相交。新的rect不应该有那个区域。我基本上想要一个与底部视图具有相同原点和宽度的矩形,但没有与顶部矩形相交的部分。
感谢您的帮助。
答案 0 :(得分:2)
CGRect intersectRect = CGRectIntersection(highestRect, lowestRect);
CGRect theRectYouWant = CGRectMake(0, 0, 0, 0);
if(!CGRectIsNull(intersectRect)) {
theRectYouWant =
CGRectMake(lowestRect.origin.x,
intersectRect.origin.y + intersectRect.size.height,
lowestRect.size.width,
lowestRect.size.height - intersectRect.size.height);
}
请查看this页面了解更多信息,Elbimio;)