Как мне узнать, находится ли касание над рамкой другой формы? - PullRequest
1 голос
/ 20 мая 2011

Я знаю, как прикоснуться к позиции, так что теперь у меня есть CGPoint с позицией прикосновения.Какой лучший способ узнать, находится ли касание над UIView или нет?Я знаю метод:

if touchpoint.x > frame.origin.x && touchpoint.x < frame.size.width + frame.origin.x

и т. Д., Но разве это лучший способ?

Ответы [ 3 ]

5 голосов
/ 20 мая 2011

Если вы просто хотите узнать, находится ли точка внутри границ вида, вы можете использовать метод pointInside:withEvent:.

CGPoint touchPoint = [theTouch locationInView:theView];
// If the point was retrieved for a different view, it must be converted to the coordinate space of the destination view using convertPoint:fromView:
if([theView pointInside:touchPoint withEvent:nil]) {
    NSLog(@"point inside");
}
3 голосов
/ 20 мая 2011

Ответ Тьфу охватывает взгляды, которые, я считаю, то, что вы хотите;если у вас есть произвольный CGRect, вы можете использовать CGRectContainsPoint:

BOOL isInside = CGRectContainsPoint(myRect, touchPoint);
0 голосов
/ 20 мая 2011

Да, CGRectContainsPoint избавит вас от написания такого количества уравнений сравнения.

...