アプリには、画面上に同時に表示される 5 つの異なるウィンドウがあります。アプリをしばらく使用すると、画面上にそれらが広がってしまうことが時々あります。したがって、このアクションが呼び出されるたびに、これらすべてのウィンドウを画面上の特定の位置に配置するアクションを作成したいと考えています。
これらのウィンドウをグループ化し、特定の位置を「記憶」する方法を知っている人はいますか?!
アクションの前に
アクションが適用された後
アプリには、画面上に同時に表示される 5 つの異なるウィンドウがあります。アプリをしばらく使用すると、画面上にそれらが広がってしまうことが時々あります。したがって、このアクションが呼び出されるたびに、これらすべてのウィンドウを画面上の特定の位置に配置するアクションを作成したいと考えています。
これらのウィンドウをグループ化し、特定の位置を「記憶」する方法を知っている人はいますか?!
アクションの前に
アクションが適用された後
IIRC、Xcode (3.X)には、ユーザーがほぼ同じ方法でウィンドウを並べて表示できるこの機能がありました。
いずれにせよ、NSApplication には、windows
orderedWindows
アプリケーションのすべてのウィンドウの配列を取得できるAPI (または) があります。このウィンドウの配列をウォークし、画面サイズ (実際の画面サイズを示すを含むNSScreen APIを介して取得できるはずです) に基づいてframe
、独自のウィンドウにタイル ウィンドウ関数を実装できます。
最も魅力的な「タイル」機能は、ウィンドウの移動をアニメーション化します。これは、 NSWindow の [ setFrame: display: animate:
] メソッドを介して実行できる場合があります。