Какао-Touch: Как узнать, находится ли CGPoint в определенном CGRect? - PullRequest
4 голосов
/ 22 апреля 2011

Мне было интересно, есть ли простой способ узнать, находится ли определенная точка в определенном CGRect?

У меня есть это, чтобы получить положение, где пользователь коснулся экрана:

UITouch *touch = [touches anyObject];    
CGPoint currentPosition = [touch locationInView:self.view];

Нет Я хотел бы узнать, находится ли эта точка в следующем прямоугольнике:

CGRect aFrame = CGRectMake(0, 100, 320, 200);

Очевидно, что следующее не работает:

if (currentPosition = aFrame) {//do something}

Я быблагодарен за любую помощь.Большое спасибо!

Ответы [ 2 ]

11 голосов
/ 22 апреля 2011

Используйте функцию CGRectContainsPoint, чтобы определить, находится ли точка внутри прямоугольника:

if (CGRectContainsPoint(aFrame, currentPosition))
   // Do something
2 голосов
/ 22 апреля 2011

Все, что вам нужно, это CGGeomery эталон особенно функция CGRectContainsPoint.

...