У меня есть следующие фрагменты кодаMiss одним нажатием случайным образом
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
NSUInteger numberTaps = [touch tapCount];
// Tapping
if (numberTaps > 0) {
// do something
}
...
Приведенный выше код в основном обнаруживает одним нажатием на небольшом изображении (ширина = 18 и высота = 36). Он работает 90% времени, обнаруживая один кран.
Но это когда-то промахивается (случайно). Я должен нажать несколько раз, прежде чем он заберет один кран.
Что я сделал неправильно или пропустил, чтобы я мог постоянно обнаруживать единственный кран на 100%?
Откуда вы знаете его не только характер оборудования? – Pyrolistical
Хорошая точка. Но похоже, что другие приложения работают нормально. – pion
** Чтобы отладить ** эту проблему, вы можете переопределить '- [UIApplication sendEvent:]' в категории в 'UIApplication', вызывающей фактическую реализацию, используя [суперсущественную реализацию] Мэтта Галлахера (http://www.cocoawithlove.com/ 2008/03/supersequent-implementation.html). Это позволит вам получить событие, созданное при нажатии экрана и получить все связанные с ним привязки (через '- [UIEvent allTouches]'). Из UITouch (предположительно есть только один из 'NSSet', возвращенный из' allTouches'), вы можете получить представление о том, что прикосновение использовалось с помощью '- [UITouch view]'. –