Come è possibile ridimensionare il contenuto di una WebView?Scala WebView in Cocoa
risposta
è necessario chiamare -scaleUnitSquareToSize:
sulla visualizzazione del documento del singolo fotogramma che si desidera ridimensionare, ad esempio, il telaio principale:
[[[[webView mainFrame] frameView] documentView] scaleUnitSquareToSize:NSMakeSize(1.5, 1.5)];
[[[[webView mainFrame] frameView] documentView] setNeedsDisplay:YES];
Una WebView è una NSView, quindi un modo sarebbe to send it a scaleUnitSquareToSize:
message.
Perché una WebView è in realtà un insieme di gestione abbastanza complesso Le viste nidificate, in realtà non si può semplicemente chiamare '-scaleUnitSquareToSize:' sull'oggetto principale 'WebView'. –
o si può provare il seguente:
- (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];
}
Impostazione del la scala nella vista clip sembra essere il modo corretto per farlo. Sono troppo stanco per colpire così duramente, ma il suggerimento di Rob sopra riportato è in scala, ma lascia anche l'area di scorrimento del contenuto, quindi ottieni una pagina ridimensionata, ma un 'gioco di artefatti' di pixel spezzati sul lato destro della visualizzazione web . Ho appena tirato fuori le righe 2,4,5 della routine sopra e sembra funzionare. La vista del mio report è ridimensionata a una visualizzazione Web in un pannello di dialogo. Grazie Viandante! –
Funziona alla grande per me! La risposta accettata sarebbe stata tagliata in modo inadeguato. – Wevah
State entrambi cercando di ridimensionare in modo perfetto la panoramica superstata di documentView? Sto vedendo il ritaglio a destra e il reflow errato. Stai ridimensionando solo una volta, o più volte, come nei pulsanti di zoom in & out sotto il controllo utente? scaleUnitSquareToSize non funziona come ci si potrebbe aspettare in questa circostanza, ho finalmente trovato questo Apple Q & A che getta un po 'di luce https://developer.apple.com/library/mac/#qa/qa2004/qa1346.html ma qualcosa non lo è ancora t giusto Usando la categoria lì, sto usando essenzialmente: clipView = [documentView superview]; clipView.scale = NSMakeSize (scala, scala); clipView.needsDisplay = SI; –
Javascript è il tuo miglior amico:
[_webview stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.zoom = \"0.5\""];
- 1. Prevenzione di Flash in Cocoa WebView
- 2. Cocoa: get WebView mainFrame stringa html
- 3. Cocoa webView - Disabilita tutte le interazioni
- 4. Come consentire il caricamento di file con WebView in Cocoa?
- 5. Ottenere l'HTML di origine da una WebView in Cocoa
- 6. Come arrivare scala WebView in Android 4
- 7. Le barre di scorrimento di Cocoa WebView non scompariranno
- 8. Cookie/Stato di Cocoa WebView non viene conservato
- 9. Il disegno su tela HTML5 è più lento in Cocoa WebView rispetto a Safari
- 10. Come implementare un elenco personalizzato in Cocoa?
- 11. Come incorporare WebSockets in un'applicazione Cocoa
- 12. Rinomina file in Cocoa?
- 13. Parsing XML in Cocoa
- 14. Cocoa OSX widget/controlli personalizzati
- 15. Scrivere le proprie proprietà @dynamic in Cocoa
- 16. Ruota UIView in Cocoa Touch
- 17. Uso di -> in Cocoa
- 18. Utilizzo di NSFontPanel in Cocoa
- 19. Scarica file in WebView
- 20. Caching in JavaFX WebView
- 21. Navigare in una WebView
- 22. Javascript iniezione in WebView
- 23. Crossplatform WebView in Qt5.6
- 24. WebView in Dialog
- 25. Calcolare differenza di tempo a Cocoa
- 26. Libreria open source Cocoa/Cocoa-Touch POP3/SMTP?
- 27. Navigazione breadcrumb per Cocoa
- 28. Cocoa NSStatusBar Global HotKey
- 29. Preferenze XCode Cocoa App?
- 30. WebView clearHistory() sulla funzionalità di Webview canGoback()?
Ciò porta al contenuto da ritagliare a destra a 1/1 (ovvero 2/3) dei limiti della vista, proprio come confermano i commenti sulla risposta di @Wanderer. Anche il ridimensionamento della superView del documentView non funziona, perché il puntatore del mouse non funziona correttamente (come indicato anche nei commenti dell'altra risposta). Quindi, nessuna delle risposte qui funziona per me finora (il 10.10.5) –
Vedi anche: http://stackoverflow.com/questions/23010634/zooming-in-and-out-in-webview-cocoa –