Как убрать клавиатуру на UIWebView?

Я загружаю HTML-страницу с формой. Я бы хотел, чтобы убрать клавиатуру, когда пользователь нажимает кнопку GO или если он нажимает кнопку SUBMIT на странице HTML.

Если пользователь решает, что не хочет заполнять форму, мне также нужен способ отклонить клавиатуру.

Не знаю, как это сделать.

Ответы

Ответ 1

Вы можете использовать javascript, чтобы отвлечь фокус от текстового поля HTML, используя blur:

document.foo.bar.myinput.blur();

Ответ 2

Более кратким способом, не требуя знать, какой элемент выбран, является следующее:

[webView stringByEvaluatingJavaScriptFromString:@"document.activeElement.blur()"];

Ответ 3

Javascript подход умный, но это более прямо:

[webView endEditing:YES];

Ответ 4

Я не очень хорошо знаком с UIWebView, но обычно вы отключаете клавиатуру так...

[textField resignFirstResponder];

Таким образом, клавиатура будет отклонена...

Чтобы отклонить клавиатуру, когда пользователь нажимает кнопку возврата, вам нужно будет реализовать метод делегирования.

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{   
    [textField resignFirstResponder];
    return YES;
}

Документация Apple содержит полный список методов для UITextFieldDelegate.