【发布时间】:2017-05-24 05:15:25
【问题描述】:
当我在我的 Mac 屏幕上进行测试时,我正在尝试缩放 NSView 以获得更大的显示,这样我就可以按比例查看所有内容。
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)
这将创建正确大小的窗口,并且大部分内容都以一半大小绘制。但是,有些东西没有缩放。
NSButton 的标题文本仍然是原始的大尺寸。如果按钮包含图像,则图像会正确缩放。
WebView 的内容不会以小尺寸呈现。
如何缩放所有内容,包括按钮标题和 Webview 内容?
【问题讨论】:
-
你能在你绘制你想要缩放的视图的地方显示代码吗?
-
我认为字体不会随视图缩放。您可能必须计算所需的字体大小并相应地进行更改。这也可能是按钮无法缩放的原因。它可能会保持容纳字体所需的大小。
-
@rocky:窗口有一个 NSView(在和 XIB 中),并且该视图有一堆子视图——十几个按钮和一个 WebView。没有什么花哨。我不做任何我自己的画。所有这些控件的大小都可以正确缩放。
标签: objective-c macos scale nsview