Метод touchesEnded не вызывается?
Я разрабатываю приложение, в котором я использую
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
}
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
}
-(void)handleSingleTap:(UITapGestureRecognizer *)recognizer {
}
Теперь моя проблема в iphone 3 после touch move
это зовет handleSingleTap
функция и touchesEnded
не позвонили. Это происходит только в какой-то нижней части экрана, когда я двигаюсь туда, сенсорный конец не вызывается. touchesEnded
позвонить
Но эта вещь работает должным образом в IPhone4 и IPad. В IPhone4 и IPad после touchsesMoved
это зовет touchesEnded
,
1 ответ
Вы не единственный, кто столкнулся с этой проблемой. Я нашел похожую тему в списке форумов службы поддержки Apple: https://discussions.apple.com/thread/1507669?start=0&tstart=0
Эта ветка датируется 2008 годом, что совпадает с iPhone 3, поэтому я думаю, что есть вероятность, что это нефиксированная ошибка на iOS, работающей на iPhone 3.
В противном случае, если это не так, возможно, это связано с тем, что вы используете UIScrollView (контроллер которого реализует сенсорные методы, перечисленные выше). По умолчанию у него есть метод с именем:
delaysContentTouches
Это установлено в ДА. Может быть, вы должны изменить его на нет и сказать, как он себя ведет.
Если вы не используете UIScrollView, возможно, вы используете два вида, а второй, содержащий "мертвую зону", не подключен к вашему контроллеру?