2017-01-09 3 views
0

Ich versuche ein NSView für ein größeres Display zu skalieren, wenn ich auf meinem Mac-Bildschirm teste, damit ich alles im Verhältnis sehen kann.NSView skaliert nicht den ganzen Inhalt

NSRect wFrame = self.window.frame; 
wFrame.origin.x = 200; 
wFrame.origin.y = 100; // from bottom of my screen 
wFrame.size.width = 1080 * 0.5; // so it will fit on my screen 
wFrame.size.height = 1920 * 0.5; 
[self.window setFrame:wFrame display:YES]; // the window is smaller, but not everything is scaled (e.g., font sizes) 

Dadurch wird das Fenster mit der richtigen Größe erstellt, und die meisten Inhalte werden mit halber Größe gezeichnet. Aber einige Dinge sind nicht skaliert.

  1. Ein NSButton Titel Text ist immer noch das Original, groß. Wenn die Schaltfläche ein Bild enthält, wird das Bild richtig skaliert.

  2. Der Inhalt eines WebView wird nicht in der kleinen Größe gerendert.

Wie kann ich den gesamten Inhalt zu skalieren, einschließlich Schaltfläche Titel und Webview Inhalte?

+0

Können Sie den Code anzeigen, in dem Sie die Ansichten zeichnen, die Sie skalieren möchten? – rocky

+0

Ich glaube nicht, dass die Schriften mit der Ansicht skaliert werden. Möglicherweise müssen Sie die erforderliche Schriftgröße berechnen und entsprechend ändern. Das könnte auch der Grund sein, warum der Button nicht skaliert wird. Es behält wahrscheinlich die Größe, die es braucht, um die Schriftart unterzubringen. – Alex

+0

@rocky: Das Fenster hat ein NSView (in und XIB), und diese Ansicht hat eine Reihe von Subviews - ein Dutzend Knöpfe und ein WebView. Nichts Außergewöhnliches. Ich zeichne nichts von mir. Die Größen all dieser Bedienelemente werden richtig skaliert. – Jeff

Antwort

0

fand ich die Antwort hier: https://stackoverflow.com/a/33293423/236415

ich meine volle Größe NSView gewickelt (und seine Subviews) in einem NSScrollView (für die LCD-Display Größen sortiert ist) und dann die Vergrößerung auf 0,5.

Verwandte Themen