【问题标题】:NSView not scaling all contentNSView 不缩放所有内容
【发布时间】: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)

这将创建正确大小的窗口,并且大部分内容都以一半大小绘制。但是,有些东西没有缩放。

  1. NSButton 的标题文本仍然是原始的大尺寸。如果按钮包含图像,则图像会正确缩放。

  2. WebView 的内容不会以小尺寸呈现。

如何缩放所有内容,包括按钮标题和 Webview 内容?

【问题讨论】:

  • 你能在你绘制你想要缩放的视图的地方显示代码吗?
  • 我认为字体不会随视图缩放。您可能必须计算所需的字体大小并相应地进行更改。这也可能是按钮无法缩放的原因。它可能会保持容纳字体所需的大小。
  • @rocky:窗口有一个 NSView(在和 XIB 中),并且该视图有一堆子视图——十几个按钮和一个 WebView。没有什么花哨。我不做任何我自己的画。所有这些控件的大小都可以正确缩放。

标签: objective-c macos scale nsview


【解决方案1】:

我在这里找到了答案:https://stackoverflow.com/a/33293423/236415

我将全尺寸的 NSView(及其子视图)包裹在 NSScrollView(尺寸适合我的屏幕)中,然后将放大倍数设置为 0.5。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    相关资源
    最近更新 更多