Показать клавиатуру в contenteditable UIWebView программно - PullRequest
5 голосов
/ 23 марта 2012

Мой UIWebView загружает приемлемый HTML-контент.Я хочу позволить UIWebView сфокусироваться и показать клавиатуру в UIWebView.

Я использую [self.webview becomeFirstResponder], но это не работает.Есть ли способ обхода?

Спасибо.

Ответы [ 4 ]

8 голосов
/ 17 октября 2012

Теперь это возможно в iOS 6. См. Булеву клавиатуру DisplayRequiresUserAction в UIWebView.После установки значения NO вы можете использовать фокус () для установки курсора.

2 голосов
/ 04 июля 2013

В iOS 6> вам необходимо: 1) установить для веб-просмотра значение keyboardDisplayRequiresUserAction = NO и 2) сфокусировать вызов.Вот код:

self.webView.keyboardDisplayRequiresUserAction = NO; // put in viewDidLoad

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
        [self.webView
         stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].focus()"];
    return YES;
}

Вы можете использовать document.getElementById ('someId'). Focus () в качестве альтернативы.Я установил textField в качестве делегата и использовал метод делегата textFieldShouldReturn, который срабатывает при нажатии клавиши возврата.

1 голос
/ 06 апреля 2012

нужно установить флажок «Видимо при запуске» в вашем оконном объекте - клавиатура автоматически отобразится в поле ввода

1 голос
/ 23 марта 2012

UIwebview не редактируется, и вы не можете сделать его первым ответчиком. Где вы можете использовать javascript для этой цели, попробуйте этот ответ

UIWebView с contentEditable (редактирование html), обработка первого респондента?

...