1

在 OS X 中,窗口“缩放”(自 Yosemite 以来的绿色窗口按钮/标题栏双击)应该将窗口扩展到其首选大小(大于内容,但不是最大)。

我的窗口中的内容各不相同,因此在编译时不知道理想的大小,但我可以在运行时计算它。

我希望缩放将窗口大小调整为首选大小,但我不想限制窗口大小(即用户仍然可以自由地将其调整为比理想大小大得多或小得多)。

告诉 OS X 缩放时应该使用什么窗口(或窗口内容)大小的正确方法是什么?

4

1 回答 1

2

当用户缩放或取消缩放窗口时,窗口将向其委托发送windowWillUseStandardFrame:defaultFrame:消息

第一个参数是被缩放的窗口;第二个是默认的标准框架,也就是屏幕的大小。您返回首选(“标准”)框架。

如果窗口的框架已经等于您返回的标准框架,那么窗口将取消缩放到用户的首选大小(正如他们通过手动调整大小来表达的那样)。否则,窗口将缩放到标准框架。

对此的推论是,如果标准帧在缩放之间发生变化,则窗口将第一次缩放,第二次将再次缩放(到新的标准帧)。如果内容的大小在缩放之间发生变化,这是您可能期望的行为。

于 2015-08-06T06:18:00.090 回答