メインウィンドウとプレビューウィンドウがあるCocoaアプリに取り組んでいます。プレビューウィンドウを自動的に配置して、他のウィンドウとの重複を最小限に抑えたいと思います。アプリのメインウィンドウと重ならないようにし、他のアプリケーションのウィンドウと重ならないようにする必要があります。
これはどのようにすればよいですか?
メインウィンドウとプレビューウィンドウがあるCocoaアプリに取り組んでいます。プレビューウィンドウを自動的に配置して、他のウィンドウとの重複を最小限に抑えたいと思います。アプリのメインウィンドウと重ならないようにし、他のアプリケーションのウィンドウと重ならないようにする必要があります。
これはどのようにすればよいですか?
Apple にはSon of Grabというサンプル アプリケーションがあり、現在のすべてのウィンドウを使用する方法を示しています。
CFArrayRef windowList = CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly, kCGNullWindowID);
現在のウィンドウが表示されます。kCGWindowBounds
値を調べて、返されたウィンドウの境界を取得できます。