¿Cómo puedo escalar el contenido de un WebView?Escala WebView en Cocoa
Respuesta
es necesario llamar a -scaleUnitSquareToSize:
en la vista del documento de la trama individual que desea cambiar el tamaño, por ejemplo, el marco principal:
[[[[webView mainFrame] frameView] documentView] scaleUnitSquareToSize:NSMakeSize(1.5, 1.5)];
[[[[webView mainFrame] frameView] documentView] setNeedsDisplay:YES];
Un WebView es un NSView, por lo que una forma sería to send it a scaleUnitSquareToSize:
message.
Porque un WebView es en realidad un conjunto bastante complejo de ed vistas anidadas, en realidad no puede simplemente llamar '-scaleUnitSquareToSize:' en el objeto principal 'WebView'. –
o puede probar lo siguiente:
- (IBAction)takeZoom:(NSSlider *)sender {
WebView *aWebView = [[window.contentView subviews] lastObject];
NSView *clipView = [[[[aWebView mainFrame] frameView] documentView] superview];
float scale = pow(4, [sender floatValue])/(clipView.frame.size.width/clipView.bounds.size.width);
[clipView scaleUnitSquareToSize:NSMakeSize(scale, scale)];
[clipView setNeedsDisplay:YES];
}
Configurar el la escala en la vista de clip parece ser la forma correcta de hacerlo. Estoy demasiado cansado para pegar así de duro, pero la sugerencia de Rob anterior escala, pero también aumenta el área de contenido de desplazamiento, por lo que obtienes una página escalada, pero un "patio de juegos de artefactos" de píxeles rotos en el lado derecho de la vista web . Acabo de sacar las líneas 2,4,5 de la rutina anterior y parece funcionar. Mi vista de informe se escala a una vista web en un panel de diálogo. Gracias Wanderer! –
¡Esto funciona muy bien para mí! La respuesta aceptada sería cortada inapropiadamente. – Wevah
¿Están buscando escalar la supervista de documentView para escalar perfectamente? Estoy viendo recorte en el derecho y reflujo incorrecto. ¿Está escalando solo una vez, o varias veces, como en los botones de acercar y alejar bajo el control del usuario? scaleUnitSquareToSize no funciona como uno podría esperar en esta circunstancia, finalmente encontré este Apple Q & A que arrojó algo de luz https://developer.apple.com/library/mac/#qa/qa2004/qa1346.html pero algo todavía no es así t derecho. Usando la categoría allí, estoy usando esencialmente: clipView = [documentView superview]; clipView.scale = NSMakeSize (escala, escala); clipView.needsDisplay = SÍ; –
Javascript es tu mejor amigo:
[_webview stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.zoom = \"0.5\""];
- 1. Cocoa webView - Desactivar toda interacción
- 2. Cocoa Navegador WebView flash blanco
- 3. Prevenir el flash en Cocoa WebView
- 4. Cocoa: obtener WebView mainFrame cadena html
- 5. Cocoa WebView - Cargando una página HTML local
- 6. ¿Cómo se limpia el caché WebView en Cocoa?
- 7. ¿Cómo permitir la carga de archivos con WebView en Cocoa?
- 8. Obtención de HTML fuente desde una WebView en Cocoa
- 9. Android WebView no respeta el porcentaje de escala
- 10. Cookies/State of Cocoa WebView no se conserva
- 11. Cocoa webview - pantalla completa de video html5 no funciona
- 12. Obtenga la URL actual de WebView de Cocoa
- 13. Las barras de desplazamiento Cocoa WebView no desaparecerán
- 14. Cómo cargar archivos locales html con imágenes, js y css en WebView Cocoa/Mac OS
- 15. Hacer que WebView desde WebKit sea arrastrable con el mouse en Cocoa
- 16. ¿Hay alguna manera de utilizar el inspector web WebKit desde un objeto Cocoa WebView?
- 17. Calcular diferencia de tiempo en Cocoa
- 18. Cómo incorporar WebSockets en una aplicación Cocoa
- 19. Controles/widgets personalizados Cocoa OSX
- 20. Nodo: escala socket.io/nowjs - escala en diferentes instancias
- 21. ¿Cómo implemento una lista personalizada en Cocoa?
- 22. NullPointerException en WebView (WebView.requestFocus())
- 23. para cuerdas en Webview
- 24. Android youtube en webview
- 25. set loadURLTImeOutValue en webview
- 26. Habilite longClick en WebView
- 27. Desplazamiento Webview en Viewpager
- 28. En Cocoa, ¿tengo que hacer mi propia escala en drawRect: si elijo hacer una paginación personalizada durante la impresión?
- 29. Hipervínculo en Cocoa
- 30. Mapa bidireccional en Cocoa
Esto lleva al contenido recortado a la derecha en 1/1.5 (es decir, 2/3) de los límites de la vista, al igual que los comentarios sobre la respuesta de @Wanderer confirman. Tampoco funciona escalar la supervista de documentView, porque entonces el puntero del mouse no funciona correctamente (como también se indica en los comentarios de la otra respuesta). Por lo tanto, ninguna de las respuestas aquí funciona para mí hasta el momento (en 10.10.5) –
Ver también: http://stackoverflow.com/questions/23010634/zooming-in-and-out-in-webview-cocoa –