2011-12-18 96 views
0

我想我並不完全瞭解containsPoint方法:爲什麼此CGRectContainsPoint失敗?

// test 
CGRect compareRect = CGRectMake(-39, -62, 39, 62); 
CGPoint comparePoint = CGPointMake(3, -27); 
if(CGRectContainsPoint(compareRect, comparePoint)) NSLog(@"works"); 
else NSLog(@"doesn't work"); 

當我繪製它的點是在矩形內。但它返回「不起作用」。

+0

我不包含那一點=) – Nekto 2011-12-18 19:20:42

+0

我在座標思考。 3是> -39 && 3 < 39 && -27 > -62 && -27 <62.對我來說是漫長的一天。 =) – TigerCoding 2011-12-18 19:23:43

回答

6

CGRectMake的第3個和第4個參數是寬度,高度。因此compareRect從(-39,-62)到(0,0)不包含(3,-27)。認爲參數是(x1,y1,x2,y2)是常見的錯誤,但它們不是。其實他們是(x,y,w,h)。

+0

啊哈。非常感謝你。 – TigerCoding 2011-12-18 19:23:03