可可NSRect交叉口外面

时间:2011-07-18 07:41:29

标签: objective-c cocoa intersection rect

我有两个相交的地方。它们具有相同的尺寸,唯一的区别是它们中的一个比另一个低。我知道有一种方法可以得到他们的交叉点,但这不是我想要的。我实际上想要一个位于交叉点之外的区域的新矩形。

下部视图的顶部与顶部视图的底部相交。新的rect不应该有那个区域。我基本上想要一个与底部视图具有相同原点和宽度的矩形,但没有与顶部矩形相交的部分。

感谢您的帮助。

1 个答案:

答案 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;)