按比例调整Cocoa窗口大小

6
我想知道如何限制应用程序窗口按比例调整大小?我希望它保持比例,以免扭曲照片/视频。
2个回答

10

你可能会在应用程序委托中完成此操作;在标准项目模板中,该对象引用了您的应用程序的主窗口。

- (void)awakeFromNib {
    // Keep the aspect ratio constant at its current value
    [window setAspectRatio:window.frame.size];
}

自己注意:这个答案是100%正确的。根据你获取窗口引用的方式,确保它不是“nil”。 - Dan Rosenstark

5

您不会调整应用程序的大小,而是调整窗口的大小。您可以使用-[NSWindow setContentAspectRatio:]


感谢您的纠正。我应该在哪里声明这个参数? - Anas
每当您知道纵横比将是多少,可能在窗口控制器或文档控制器中,这取决于您的应用程序的组织方式。 - Nicholas Riley
我对xcode和objective-c非常陌生,请原谅我的无知 :) 我通过可视化编辑器在.xib文件上创建了窗口,所以我不知道该把那段代码放在哪里。 - Anas
通常情况下,在 .xib 文件中,如果你有一个文档窗口,那么你会有一个“文件所有者”对象,它通常是一个窗口控制器。在设置窗口的纵横比之前,你需要知道你的内容的纵横比是什么。听起来你可能想要先读一些入门的Cocoa书籍,然后再写代码... - Nicholas Riley
我订购了一个,还在等待中,但是我想在此之前尝试一下。所以现在我有了一个窗口控制器文件,它是NSWindow的子类。我的内容的宽高比为4/3。 - Anas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接