NSScreenクラス

スクリーンサイズを取得するにはNSScreenクラスを使用する。

	NSRect rect1 = [[NSScreen mainScreen]frame] ;
	NSLog(@"rect1 : %@",NSStringFromRect(rect1)) ;
	NSRect rect2 = [[NSScreen mainScreen]visibleFrame] ;
	NSLog(@"rect2 : %@",NSStringFromRect(rect2)) ;


mainScreenのframeでメインスクリーンのサイズが取得できる。
visibleFrameの値はDockの設定で変わってくる。

実行結果

上記のプログラムをMacBook Pro 17インチで実行した結果

Dockの設定で「Dockを自動的に隠す/表示」をONにした場合

frameはメインスクリーンのサイズ、visibleFrameはメニューバーの高さを除いたサイズが取得できる。

rect1 : {{0, 0}, {1680, 1050}}
rect2 : {{0, 4}, {1680, 1024}}
Dockの設定で「Dockを自動的に隠す/表示」をOFFにした場合

visibleFrameはメニューバーの高さとDockの高さを除いたサイズを返しているようだ。

rect1 : {{0, 0}, {1680, 1050}}
rect2 : {{0, 38}, {1680, 990}}