Tengo un UIWebView
que dentro de UIScrollView
(la vista de desplazamiento contiene otro componente)
Probé para permitir multitouch tanto en Interface Builder o programático sobre UIWebView
pero todavía no puedo hacer un zoom para html, ¿necesito para manejar tanto el zoom in en el UIScrollView
y UIWebView
? ¿O algo que no tenga que configurar?
objective-c
ios
cocoa-touch
uiwebview
zoom
calendarw
fuente
fuente
scalesPageToFit = YES
funciona pero cambia el tamaño de contenido predeterminado. Mira mi respuesta, esto te será útil.Respuestas:
DEBE establecer scalePageToFit = YES para que cualquier pellizco y zoom funcione en un UIWebView
fuente
OK, debes hacer lo anterior, pero también lo siguiente. Tenía una vista web en la vista principal, y eso no funcionó.
<UIScrollViewDelegate>
en su controlador de vista, arrastre el delegado de vista de desplazamiento al controlador de vista en Interface Builder e implemente elviewForZoomingInScrollView
método. Esto debe devolver el puntero a UIScrollView (return myScrollView).fuente
Con JavaScript puedes controlar el nivel de zoom, aunque la solución que he encontrado no se ve suave.
Digamos que tienes en
<head>
:Para hacer zoom a 4x y aún permitir que el usuario cambie el zoom, cambie el contenido dos veces:
Alternar el ancho es muy importante; de lo contrario, Mobile Safari tiene errores graves de repintado (debido a una optimización excesiva).
No puede simplemente configurar de
initial-scale
nuevo, se ignora la segunda vez.fuente
Debe implementar el método viewForZoomingInScrollView en su controlador, o el zoom no hará nada. (Realmente no sé por qué esto debería ser necesario, pero ahí lo tienes).
Para obtener información detallada, consulte http://developer.apple.com/iphone/library/documentation/WindowsViews/Conceptual/UIScrollView_pg/ZoomZoom/ZoomZoom.html .
fuente