Не имея кода, размещенного в вашем вопросе, я предполагаю, что возврат клавиатуры назад происходит только при касании текстового поля HTML до последнего вызова UIWebViewDelegate webViewDidFinishLoad:
Чтобы проверить это, сначалаустановите UIWebView.delegate
на UIViewController
, которому он принадлежит (или на любой объект, которому принадлежит UIWebView
).Затем реализуйте эти методы делегата.
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSString *urlString = request.URL.absoluteString;
NSLog(@"%@ with URL = %@", NSStringFromSelector(_cmd), urlString);
return YES;
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *urlString = webView.request.URL.absoluteString;
NSLog(@"%@ with URL = %@", NSStringFromSelector(_cmd), urlString);
}
Запустите ваше приложение и запишите количество раз, которое вызывается webViewDidFinishLoad:
.(Если ваша веб-страница содержит несколько фреймов или содержит такие элементы, как Google Analytics, она будет вызываться несколько раз.)
Попробуйте коснуться текстового поля HTML после вызова `webViewDidFinishLoad: 'в последний раз.Клавиатура остается включенной?(Я бы так подумал).
Если это сработает, то попробуйте подключиться перед финальным вызовом `webViewDidFinishLoad: '.Анимация клавиатуры вверх, но затем вниз?