[MacDev]メニューバーが表示されているスクリーンの情報を取得


[NSScreen mainScreen]は、メニューバーが表示されているスクリーンの情報だと勘違いしてしまうが、これはフォーカスのあるウィンドウが表示されているスクリーンの情報を保持している。
一台のモニターを使っている場合は問題が発生することはないが、マルチモニターの環境では使い方を間違わないようにしないといけない。

メニューバーが表示されているスクリーンの情報は[NSScreen screens]の0番目に入っている。

    [[NSScreen screens]objectAtIndex:0]


対象のウィンドウが表示されているスクリーンの情報は、NSWindowから取得できる。

    NSScreen *screen = [window screen] ;