限制单个 Window MacOS Objective-C 的纵横比

Constrain Aspect Ratio of Single Window MacOS Objective-C

假设我有一个适用于 MacOS 的 Obj-C Xcode 项目。我有一个包含两个 windows 的 xib。一个是发布时的主要 window。第二个 window 通过主 window 上的按钮打开。除此之外,只有 appdelegate .h 和 .m。 windows 都在一个 xib 中。

我想限制第二个 window 的纵横比,而不是第一个 window。

我发现我可以使用这样的东西:

[_window setAspectRatio:NSMakeSize(16, 9)];

添加到 applicationDidFinishLaunching 下的 appdelegate.m 似乎限制了主要 window,但不是第二个。

知道如何允许调整第二个 xib window 的大小,但限制在 16:9 的纵横比 - 不限制主 window,当两个 windows 在一个 xib 文件中?

您的 app delegate 与 "video window" 没有任何连接,window 属性 连接到您的主 window。例如,您可以添加另一个插座:

然后您可以设置视频 window 的宽高比而不是主 window 的宽高比。

[_videoWindow setAspectRatio:NSMakeSize(16, 9)];