在 Mac OS X 中调整 NSWindows 大小和固定比率

Baz*_*207 5 macos resize scale nsview nswindow

当用户在 Mac OS X 中调整 NSWindow 元素的大小时,我正在研究制作一个具有固定比例的窗口。

我最初尝试:

- (NSSize)windowWillResize:(NSWindow *)sender toSize:(NSSize)frameSize
{
    NSSize windowSize = frameSize;
    windowSize.width = windowSize.height*1.6;

    return windowSize;
}
Run Code Online (Sandbox Code Playgroud)

这是基本工作,除此之外,仅当用户从底部或角落而不是从侧面拖动窗口时才有效。

所以我又看了一眼,我发现了以下内容:

[_window setAspectRatio:NSMakeSize(1.6, 1)];
Run Code Online (Sandbox Code Playgroud)

(我把它放在 applicationDidFinishLaunching 中:)

这最初看起来像是要完成这项工作,但是当您调整窗口大小时,它最初会跳转,然后正常工作。

此外,当窗口放大时,我的图形接缝看起来很模糊,甚至认为它们的质量大于窗口大小。

基本上,我希望是否有人对新的 Mac OS X 开发人员更改窗口大小有任何提示和技巧。对于 iOS,我从来不必担心这个问题,我想在为更大的屏幕尺寸重新设计应用程序 UI 之前解决这个问题。

谢谢!