example iphone uiwebview zoom

example - iphone uiwebview programmatic zoom



wkwebview swift 4 (3)

Estoy desarrollando una aplicación que guarda archivos html localmente en el sistema de archivos de iPhone, y luego los carga en UIWebView. Quiero poder hacer zoom o tocar dos veces programáticamente en UIWebView, intenté buscar código de JavaScript, pero solo pude desplazarme.

También probé la transformación de la vista web, pero no funcionó para mí. Encontré este método

sendAction:to:from:forEvent:

http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIApplication_Class/Reference/Reference.html#jumpTo_26

en la clase UIApplication, que puede enviar acciones a los controles.

¿Alguien sabe cómo enviar la acción de doble toque programáticamente a un UIWebView en cierta x, y?


obtener la subvista de UIWebview que es un UIScrollview

UIScrollView *sview = [[webview subviews] objectAtIndex:0];

Luego usa los métodos de zoom en eso.


Para obtener doble toque de UIWebview necesitas subclasificar la ventana UI y usar el método,

- (void)sendEvent:(UIEvent *)event { NSLog(@"tap detect"); NSArray *allTouches = [[event allTouches] allObjects]; UITouch *touch = [[event allTouches] anyObject]; UIView *touchView = [touch view]; if (touchView && [touchView isDescendantOfView:urWebview]) { // // touchesBegan // if(touch.tapCount==2){ // // doubletap // } } }

Desde esta subclase de UIWindow utiliza un delegado o Notificación para interceptar tu clase.


Esta es la única manera que pude encontrar para lograrlo: (especifique sus propios tamaños si lo desea, estaba intentando alejar la imagen después de escribir en un campo de formulario)

UIScrollView *sv = [[webViewView subviews] objectAtIndex:0]; [sv zoomToRect:CGRectMake(0, 0, sv.contentSize.width, sv.contentSize.height) animated:YES];