2011-12-18 6 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의 세 번째 및 네 번째 매개 변수는 너비, 높이입니다. 따라서 compareRect은 (-39, -62)에서 (0, 0)까지이며 (3, -27)을 포함하지 않습니다. 매개 변수는 (x1, y1, x2, y2)라고 생각하는 것이 일반적인 실수이지만, 실제로는 그렇지 않습니다. 사실 그들은 (x, y, w, h)입니다.

+0

아하. 고맙습니다. – TigerCoding

관련 문제