OSX最大窗口高度

时间:2014-04-08 15:20:18

标签: macos user-interface window titlebar dock

窗口只能是OSX上的某个高度。它认为这个最大高度是:screenheight - 菜单栏高度 - 标题栏高度 - 停靠栏高度(仅当它可见时)。

是否有一种简单的方法可以获得此值,或者您如何单独获得这些值?这是对的吗?

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

参见NSScreen visibleFrame 和屏幕 注册并处理 NSApplicationDidChangeScreenParametersNotification

人们使用多个显示器,外部显示器并更改其显示首选项。

您还需要决定如何处理Dock。

当窗口跨越多个显示时,您还需要计算出高度。 或者它应该是最大尺寸。

您想要考虑窗口恢复处理。

您应该考虑处理睡眠和唤醒通知。

最后,您要仔细测试。这并不难,但是你自己的设置可能无法反映出许多动态。

还有一个。请记住,即使Dock隐藏(左侧或底部),NSScreen方法也会考虑到此操作系统将尝试为Dock边缘保留一个小空间。对于小牛队来说,如果我没记错的话,这似乎是4分。 当您的应用处于活动状态时,您可以在Dock无法运行的情况下运行应用。但是,通过API实施这样做也会隐藏menuBar。如果您需要这样做,可以全屏或考虑增加窗口级别。 (这听起来并不像听起来那么有趣但探索很有趣)

最后,这些内容有时会在主要操作系统版本中发生变化。因此,您可能需要适应不同的操作系统版本。

答案 2 :(得分:0)

  

窗口只能是OS X上的某个高度。

我找不到对窗口大小限制的引用,但它们肯定不如当前屏幕大小有限。

Windows可以延伸多个(垂直)排列的屏幕或重叠菜单栏和底座。