窗口只能是OSX上的某个高度。它认为这个最大高度是:screenheight - 菜单栏高度 - 标题栏高度 - 停靠栏高度(仅当它可见时)。
是否有一种简单的方法可以获得此值,或者您如何单独获得这些值?这是对的吗?
答案 0 :(得分:1)
如果您可以使用Cocoa
visibleFrame
类的NSScreen
方法。
答案 1 :(得分:1)
参见NSScreen visibleFrame 和屏幕 注册并处理 NSApplicationDidChangeScreenParametersNotification
人们使用多个显示器,外部显示器并更改其显示首选项。
您还需要决定如何处理Dock。
当窗口跨越多个显示时,您还需要计算出高度。 或者它应该是最大尺寸。
您想要考虑窗口恢复处理。
您应该考虑处理睡眠和唤醒通知。
最后,您要仔细测试。这并不难,但是你自己的设置可能无法反映出许多动态。
还有一个。请记住,即使Dock隐藏(左侧或底部),NSScreen方法也会考虑到此操作系统将尝试为Dock边缘保留一个小空间。对于小牛队来说,如果我没记错的话,这似乎是4分。 当您的应用处于活动状态时,您可以在Dock无法运行的情况下运行应用。但是,通过API实施这样做也会隐藏menuBar。如果您需要这样做,可以全屏或考虑增加窗口级别。 (这听起来并不像听起来那么有趣但探索很有趣)
最后,这些内容有时会在主要操作系统版本中发生变化。因此,您可能需要适应不同的操作系统版本。
答案 2 :(得分:0)
窗口只能是OS X上的某个高度。
我找不到对窗口大小限制的引用,但它们肯定不如当前屏幕大小有限。
Windows可以延伸多个(垂直)排列的屏幕或重叠菜单栏和底座。