2011-12-18 179 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