2014-04-08 110 views
0

窗口只能在OSX上達到一定高度。它認爲這個最大高度是:screenheight - 菜單欄高度 - 標題欄高度 - 停靠點高度(僅當其可見時)。OSX最大窗口高度

有一種簡單的方法來獲得了這個值,或者你如何單獨獲取這些值?它是否正確?

回答

0

一個窗口只能在OS X上一定高度

我找不到對窗口大小的限制的參考,但他們肯定比少有限當前屏幕尺寸。

Windows可以在幾個(豎直地)伸展設置屏幕或重疊的菜單欄和碼頭。

+0

好點。窗口級別可以設置得比碼頭和菜單欄高,但通常不是很實用。 – uchuugaka

+0

兩個監視器,一個在另一個之上。你會想要兩個顯示器一樣高的窗口。 – gnasher729

+0

沒有記錄的最大值,但我們可以假設它是CGFloat的高度或寬度範圍,以點爲單位,而不是以像素爲單位 – uchuugaka

1

看到NSScreen visibleFrame 和屏幕 註冊並處理 NSApplicationDidChangeScreenParametersNotification

人們使用多臺顯示器,外接顯示器和改變他們的顯示首選項。

您還需要決定如何處理的碼頭。

您還需要弄清楚的高度時,一個窗口跨越多個顯示器。 或者如果它應該在最大尺寸。

你會想考慮窗口恢復處理。

你會考慮處理睡眠和喚醒通知。

最後,你要仔細測試。這並不難,但有一些動態的發揮,你自己的設置可能不會反映出來。

還有一個。請記住,即使Dock正在隱藏(左側或右側)NSScreen方法說明此操作系統,操作系統也會嘗試爲Dock邊緣留出一小塊空間。如果我記得正確的話,小牛隊似乎有4分。 當您的應用程序處於活動狀態時,您可以使您的應用程序在Dock不可用的情況下運行。但是通過API強制執行也會隱藏menuBar。如果你需要這樣做,可以全屏或者考慮提高窗口水平。 (這並不值得,因爲它聽起來很有趣,但探索)

最後,有時候這種東西變化主要的OS版本。所以希望您可能需要適應不同的操作系統版本。