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

+0

私は座標で考えていました。 3は> -39 && 3 < 39 && -27 > -62 && -27 <62.私にとって長い一日でした。 =) – TigerCoding

答えて

6

CGRectMakeの3番目と4番目のパラメータは幅、高さです。したがって、compareRectは(-39、-62)から(0、0)までで、(3、-27)は含まれません。パラメータが(x1、y1、x2、y2)であると考えるのはよくある間違いですが、そうではありません。実際には(x、y、w、h)です。

+0

Aha。どうもありがとうございました。 – TigerCoding

関連する問題