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 is> -39 && 3 < 39 && -27 > -62 && -27 <62. Был длинный день для меня. =) – TigerCoding

ответ

6

3-й и 4-й параметр для CGRectMake - ширина, высота. Итак, compareRect от (-39, -62) до (0, 0), который не содержит (3, -27). Ошибочно полагать, что параметры (x1, y1, x2, y2), но они не являются. На самом деле они (x, y, w, h).

+0

Aha. Большое спасибо. – TigerCoding

Смежные вопросы