2011-07-18 17 views
1

我有兩個相交的交叉點。它們具有相同的尺寸,唯一的區別是其中一個比另一個更低。我知道有一種方法可以得到它們的交點,但這不是我想要的。我實際上想要從位於交叉點之外的區域獲得新的矩形。Cocoa NSRect一個交點的外部

下部視圖的頂部與頂部視圖的底部相交。新的協議不應該有那個區域。我基本上想要一個與底部視圖具有相同原點和寬度的矩形,但沒有與頂部矩形相交的部分。

感謝您的幫助。

+2

使用簡單的算術和計算呢? –

+0

這就是我第一次想到的。我只是想知道可可是否提供了一個更好的方法 – Elbimio

回答

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); 
} 

有更多,Elbimio上this頁面看看;)