Как отменить редактирование текстового поля в UIWebView? - PullRequest
3 голосов
/ 27 апреля 2009

Я работаю над приложением со встроенным UIWebView.

Пользователь имеет возможность ввести местоположение в текстовом поле в веб-представлении, но также предпринимаются усилия для обнаружения текущего местоположения с помощью основного местоположения.

Если Базовое Местоположение дает точный ответ, и пользователь в настоящее время редактирует местоположение, я хотел бы отменить редактирование и заполнить поле местоположения программно. Это основано на предположении, что подавляющее большинство времени пользователь захочет использовать свое текущее местоположение, и если они редактируют поле, они предпочитают, чтобы оно было заполнено автоматически, чем заканчивали ввод своего местоположения.

У меня такой вопрос, как мне отменить редактирование в UIWebView? Если бы это было обычное поле ввода текста, я бы заставил его подать в отставку первого респондента, и клавиатура исчезла бы, но я не знаю, как это сделать с UIWebView. Отправка resignFirstResponder в веб-представление не делает этого.

Есть ли что-то, что можно сделать с помощью Javascript и stringByEvaluatingJavaScriptFromString: в веб-представлении? Есть ли другой способ?

Ответы [ 4 ]

7 голосов
/ 25 ноября 2011

Просто используйте [webView endEditing: YES];

2 голосов
/ 24 июня 2010
[webView stringByEvaluatingJavaScriptFromString:@"document.activeElement.blur();"];
1 голос
/ 11 мая 2009

Таким образом, хитрость заключается в использовании функции blur (), но только в выбранном поле, а не во всем окне.

Следующий фрагмент кода работает, если 'self' является подклассом UIWebView:

[self stringByEvaluatingJavaScriptFromString:@"document.getElementsByName('textField')[0].blur();"];
1 голос
/ 27 апреля 2009

Ваша лучшая ставка - это подход Javascript, посмотрите значения фокуса поля формы и посмотрите, сможете ли вы сделать так, чтобы он упал.

Похоже, что вы можете:

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