Отслеживание события касания без перезаписи методов отправки события в UIWindow и UIApplication

Я пытаюсь реализовать управление сеансом для нового модуля в существующую базу кода, в которой main.m, Appdelegate а также UIApplication файлы объединены в библиотеку, и у нас нет доступа для их изменения.

Я попытался, добавив распознаватель жестов в UIWindow метод для отслеживания событий касания, но обычные события касания кнопок работали неправильно.

Сейчас планирую подкласс UIView и перезаписать штрихи начали и нажмите метод испытаний и сделать все мои UIView класс реализует этот обычай UIView учебный класс.

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

1 ответ

Решение

Наилучшим подходом будет перезапись отправки события UIApplication а также UIWindow но это не возможно в вашем случае.

Попробуй добавить UIGestureRecognizer к вашему приложению поделился UIWindow затем установите его делегат и реализуйте приведенный ниже метод делегата.

-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch 
{
     return NO; 
}

Возвращая NO не позволит распознавателю жестов увидеть этот сенсорный объект. Вы можете добавить свою реализацию для отслеживания сенсорного события внутри этого метода.

Другие вопросы по тегам