Где-то в нижней части моей иерархии представлений, я реализую метод touchhesBegan. Он срабатывает при всех касаниях, за исключением однократных отводов. Это заставляет меня поверить, что где-то выше в иерархии, представление перехватывает/обрабатывает отдельные пальцы, но я не могу найти представление о жизни меня. Есть ли хороший способ отладки этого?Как я могу определить, какой вид обрабатывает мой кран?
0
A
ответ
0
Попробуйте этот путь, если он работать:
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [[event allTouches] anyObject];
CGPoint touchLocation = [touch locationInView:self.contentView];
for (UIView *view in self.contentView.subviews)
{
if ([view isKindOfClass:[MyCustomView class]] &&
CGRectContainsPoint(view.frame, touchLocation))
{
}
}
}
+0
К сожалению, 'touchhesMoved' не получает вызова для крана. Никакие сенсорные методы не вызываются одним нажатием пальца. Все они отлично работают для кранов или сковородок с несколькими пальцами или любого другого касания, кроме одного пальца. –
Как вы думаете Трассировка: withEvent: будет полезно? Посмотрите эту тему http://stackoverflow.com/questions/4961386/event-handling-for-ios-how-hittestwithevent-and-pointinsidewithevent-are-r. – sridevi
К сожалению, 'hitTest: withEvent:' возвращает представление, которое не получает крана. Устройство распознавания жестов, похоже, не влияет. –