Проведите функциональность при разработке UIwebview iPhone - - PullRequest
1 голос
/ 21 июля 2009

Я хотел бы захватить событие пользователя для моего приложения iPhone.

как на яблоке, его легко можно достать от прикосновенийMoved: withEvent:.

У меня есть UIView, который содержит панель навигации вверху, панель инструментов внизу, между ними - uiwebView.

Теперь, когда пользователь проводит пальцем, я хочу записать это событие, но я не могу получить сенсорное событие пользователя для UIwebView.

У меня есть событие touchesMoved в моем viewcontroller. Где я могу написать это касание?

Пожалуйста, помогите мне ..

1 Ответ

1 голос
/ 21 июля 2009

Вы можете создавать подклассы UIWebView, только перезаписывая методы touchesMoved, touchesStarted, touchesEnded и touchesCancelled. Сделайте свое обнаружение пролистывания в этих методах, и пусть они вызовут [super ...], если вызов не принадлежит свайпу.

Проблема может заключаться в том, что обнаружение пролистывания не препятствует поведению UIWebView по умолчанию. Суперклассу также необходимо знать, когда касания начинаются, перемещаются, заканчиваются или отменяются. Таким образом, он может выполнить правильный выбор на делегате.

Таким образом, когда вы перезаписываете эти методы и не вызываете [super ...], или только если это не считывание, поведение самого UIWebView, вероятно, не определено. Вот почему я упоминал, что вы всегда должны вызывать [super ...] в своей собственной реализации.

Редактировать: ТАК не нравилось, когда я ставил строки между скобками «меньше» и «больше». Итак, в приведенном выше тексте, где бы я ни упоминал [super ...], пожалуйста, заполните штрихи «Начато», «Сенсор перемещен», «Сенсор закруглен» и «Отменен на точках» ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...