UIWebview GestureRecognizer для отображения панели инструментов

У меня есть Webview (внутри представления) и панель инструментов, которая большую часть времени скрыта.

Это довольно распространенное поведение для журналов для iPad: нажатие на страницу скроет и отобразит панель инструментов, но по умолчанию панель инструментов скрыта.

Я использую shouldRecognizeSimultaneousWithGestureRecognizer

В настоящее время поведение выглядит следующим образом:
– если пользователь касается страницы (веб-просмотра), панель инструментов переключается с помощью распознавателя жестов
– если пользователь касается страницы и есть интерактивный элемент, такой как веб-ссылка в UIWebview он отвечает на эту интерактивную ссылку, но ТАКЖЕ переключает панель инструментов.

Желаемое поведение заключается в следующем:
 – если пользователь нажимает на страницу в неинтерактивной области, она переключает состояние панели инструментов.
 – если пользователь нажимает на страницу в интерактивной области, она реагирует ТОЛЬКО на взаимодействие с веб-просмотром. и НЕ переключает панель инструментов.

Обратите внимание, что здесь есть почти идентичный вопрос: Распознавание жестов с помощью UIWebView
Несмотря на то, что это помечен как решенный, если вы прочитаете его, вы увидите, что решение не сработало для плаката, и он все еще получает двойной ответ, когда он (и я) хочет либо ответа, либо ответа. Я пытался опубликовать дополнительный вопрос, но он был удален, вероятно, потому, что модератор считал, что он решен.


person tester1    schedule 29.11.2011    source источник


Ответы (1)


Если UIWebView по какой-либо причине поймает прикосновение, вы также не сможете получить обратный вызов UIGestureRecognizer. Моя единственная рекомендация - сделать так, чтобы все, что происходит на веб-сайте, когда вы нажимаете на что-то, выполняло какой-то javascript, а затем перехватывало этот javascript. Вы можете взять это в качестве примера.

person Javier Soto    schedule 13.05.2012