2016-01-20 6 views
0

У меня есть UIViewController, у него есть поле для размещения местоположения, поле, где я пишу некоторые навыки, и uiWebView, где я пишу описание. Я использую uiWebView, потому что я отправляю описание в формате html на бэкэнд. Это соответствует моим потребностям. У меня возникают проблемы, так это то, что на экране iphone 4 клавиатура полностью закрывает uiWebView, потому что uiWebView расположен с вертикальной середины экрана до нижней.Как узнать, когда пользователь UIWebView коснулся пользователя

Итак, чтобы сделать смещение и установить uiWebView над клавиатурой, мне нужно знать, когда пользователь uiWebView был затронут пользователем (когда пользователь начал набирать текст на нем). Насколько я искал решение, я не могу получить ответ от uiWebView, чтобы рассказать мне, когда он коснулся пользователя, поэтому я могу добавить его в смещение.

Итак, мой вопрос: есть ли способ, которым uiWebView может сказать мне «Привет, пользователь начал набирать меня»?

+0

Что вы на самом деле пытались и какая его часть не работает? На боковой ноте я бы предложил прослушать раскрытие и скрытие уведомлений на клавиатуре вместо того, чтобы обнаруживать касания или изменения процесса в макете и обнаруживать, когда веб-представление нужно переместить по какой-либо причине. Последний должен хорошо работать с более крупными экранами, где никаких действий не потребуется. –

+0

Я попробовал webView.focused(), webView.becomefirstresponder(), Мне нужно что-то похожее на focuslistener android. Что сообщает устройству, когда пользователь коснулся веб-представления. Я мог бы слушать клавиатуру, но в моем случае мне не нужно менять смещение, когда затрагиваются два первых поля, мне это нужно только в webView. –

ответ

0

Вам не требуется уведомление от UIWebView, вам необходимо получить уведомление от UIKeyBoard, чтобы сообщить вам, когда оно появляется на экране.

Смотрите эту статью для более подробной информации: https://www.cocoanetics.com/2011/07/calculating-area-covered-by-keyboard/

+0

Я мог бы слушать клавиатуру, но в моем случае мне не нужно менять смещение, когда затрагиваются два первых поля, мне это нужно только в webView. Ofc Я также могу реализовать этот вариант, но если в любом случае uiwebview может сказать мне, что это было тронуто, это было бы моим идеальным решением. –

+0

Некоторые предлагают переписать методы UIWebView, чтобы определить, сфокусирован ли webView, например здесь: http://stackoverflow.com/questions/8474386/uiwebview-with-contenteditable-html-editing-first-responder-handling Не уверен, что это лучшее решение там – arrteme

Смежные вопросы