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.
Ein NSButton Titel Text ist immer noch das Original, groß. Wenn die Schaltfläche ein Bild enthält, wird das Bild richtig skaliert.
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?
Können Sie den Code anzeigen, in dem Sie die Ansichten zeichnen, die Sie skalieren möchten? – rocky
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
@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