¿Hay alguna manera de deshabilitar el acercamiento cuando la página de Escalas a Ajustar está ENCENDIDA?UIWebView inhabilita el acercamiento cuando scalesPageToFit está ENCENDIDO
Respuesta
Esto funciona para mí:
UIScrollView *scrollView = [webView.subviews objectAtIndex:0];
scrollView.delegate = self;//self must be UIScrollViewDelegate
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
return nil;
}
ACTUALIZACIÓN: Para iOS 5 o superior ScrollView obtener de esta manera:
webview.scrollView.delegate = self;
Hay una propiedad llamada scrollView
en UIWebView
. A través de esto puedes definir esto. Para ser más específico que debe tener este aspecto:
myWebView.scrollView.minimumZoomScale = 1.0;
myWebView.scrollView.maximumZoomScale = 1.0;
incorrecto el zoom sigue ahí, incluso si establece los niveles de zoom a 1.0 –
Esto realmente funciona si se coloca en '- (void) webViewDidFinishLoad: (UIWebView *) webView' de la función de delegado de la vista web –
Lo siento, esto simplemente no funciona para mí, incluso si se coloca en webViewDidFinishLoad. –
Desde el Apple Documentation:
scalesPageToFit
Un valor booleano que determina si la página web de tamaño para ajustarse a la vista y la el usuario puede cambiar la escala.
@property (no atómica) BOOL scalesPageToFit
Discusión
En caso afirmativo, la página web se escala a la medida y el usuario puede acercar y alejar a cabo. Si NO, el zoom del usuario está desactivado. El valor predeterminado es no.
Así que si quiere cambiar ese comportamiento, probablemente tendrá que subclase UIWebView.
Editar: implementar el método delegado
- (void)webViewDidFinishLoad:(UIWebView *)webView
Para su vista web y en ella añadir folowing código:
[webView stringByEvaluatingJavaScriptFromString: @"$('body').bind('touchmove', function(event) { event.preventDefault() });"];
El problema es que esto también desactiva el desplazamiento, ya que deshabilita el movimiento de toque. Si desea mantener el rollo que tiene que escribir un script de Java que se sobreponen a la etiqueta meta de visualización con:
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
no ayudó, sigue siendo zoomable – Jim
Parece que estás escribiendo, estoy buscando una solución y voy a editar –
Esto funcionó para mí en iOS 5. –
En lugar de utilizar
UIScrollView *scrollView = [webView.subviews objectAtIndex:0];
scrollView.delegate = self;//self must be UIScrollViewDelegate
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
return nil;
}
Puede utilizar este:
webview.scrollView.delegate = self;
-(UIView*)viewForZoomingInScrollView:(UIScrollView*)scrollView {
return nil;
}
La segunda opción es mejor y prueba completa. La primera lógica podría fallar en futuros SDK.
por lo que funciona en mí:
NSString *fullURL = @"http://google.com";
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
_webView.scrollView.scrollEnabled = TRUE;
_webView.contentMode = UIViewContentModeScaleAspectFit;
_webView.scalesPageToFit = FALSE;
[_webView loadRequest:requestObj];
- 1. UIWebView deshabilita el acercamiento mediante programación
- 2. ¿Cómo iniciar un servicio cuando el dispositivo Android está encendido?
- 3. ¿Determina si LTE está encendido?
- 4. ¿Cómo detectar si UISwitch está encendido/apagado?
- 5. Xcode Modo DEBUG: ¿cuándo está encendido/apagado?
- 6. Bookmarklet acercamiento
- 7. Reutilizando UIWebView está causando bloqueos
- 8. Comprueba si UIWebView está cargado
- 9. AlarmManager cuando el teléfono está apagado - ANDROID
- 10. C# WinForms inhabilita la escala de DPI
- 11. Evitar que UIWebView se desplace cuando aparezca el teclado
- 12. Safari: ¿Inhabilita form-submit en Enter?
- 13. Prevenir el acercamiento de Phonegap + JQuery Mobile
- 14. Inhabilita correctamente los anuncios de AdMob
- 15. Auto Power en Android cuando el cargador está Conectado
- 16. Android - ¿Qué sucede cuando el dispositivo está desbloqueado?
- 17. Restricción de panorámica y acercamiento
- 18. acercamiento para "sitio abajo para mantenimiento"
- 19. UIWebView: ¿Cancelar la apertura de un enlace cuando "retocar" está fuera del enlace?
- 20. ¿Cómo fuerzo a UIWebView para actualizar cuando está fuera de pantalla?
- 21. ¿Cómo implementar un UIActivityIndicatorView cuando UIWebView se está cargando? (iPhone ObjC)
- 22. UIWebView - accidente cuando se despedía controlador de vista modal, mientras que la solicitud está en curso
- 23. Cómo determinar si el monitor LCD está encendido desde la línea de comandos de Linux
- 24. Cómo funciona NOHZ = Encendido do_timer en el núcleo de Linux
- 25. Detectar cuando el emulador de Android está completamente iniciado
- 26. Windows "siempre encendido" con Java
- 27. iphone: ¿Cómo sé que UIWebView está completamente cargado?
- 28. UIWebView y define el diccionario
- 29. Temporizador Android que funciona cuando el dispositivo está durmiendo
- 30. cómo se comprueba si UIWebView está vacío o no
Excelente solución, funciona perfectamente y utiliza una instrucción if en el método, puede elegir devolver 'nil' o reenviar el mensaje a' super', en cuyo caso se vuelve a habilitar el zoom (dependiendo del contenido que se muestre). –
A partir de iOS 5 puede usar 'webView.scrollView.delegate = self;'. – Dev
¡Muchas gracias realmente me ayudó mucho! –