Evitar que UIWebView se desplace cuando aparezca el keyboard.

Tengo un UIWebView que presenta una página que contiene campos de input ().

Cuando el usuario toca el campo para ingresar datos, el UIWebView se desplaza hacia arriba y hacia la izquierda para que el campo permanezca visible para el usuario. Bien ok.

No me molesta que se desplace hacia arriba (porque todo lo que está debajo de mi forma está oculto por el keyboard), pero me gustaría evitar que la vista se desplace hacia la izquierda.

¿Hay alguna manera (encabezados en la página html, o código iOS) para evitar este comportamiento?

Gracias

Primero deberá capturar la pantalla de un keyboard con UIKeyboardWillShowNotification .

Luego restrinja el ancho contentSize de UIScrollView (de la UIWebview) al ancho de la pantalla, lo que garantizará que la pantalla no se desplace horizontalmente.

No sé cómo evitar el desplazamiento por completo, pero si no le molesta un poco de jitter, puede agregar este controller al campo de input:

 onfocus="setTimeout('window.scroll(0,0)',100)" 

No es hermoso pero efectivo:

Si no desea que su webView se desplace en absoluto, puede implementar el UIScrollViewDelegate de UIWebView y establecer el contenido Offline en 0 en scrollViewDidScroll

 aWebView.scrollView.delegate = self func scrollViewDidScroll(scrollView: UIScrollView) { scrollView.contentOffset = CGPointMake(0, 0) }