1

2 つの NSWindows を一緒に動かそうとしています (NSWindows は互いに接続されています)。を使用して

- (void)windowDidMove:(NSNotification *)notification

しかし、この方法は怠惰で、実際には機能しません。オーバーライドsetFrameOriginやその他のsetFrameメソッドも同様に機能しませんでした。これを行うための最良の方法は何だろうと思っていましたか?さまざまなアプローチの提案をいただければ幸いです。

4

1 に答える 1

1

子ウィンドウは、あなたの状況に最も適しているようです。

これらは実装が簡単で、 の-addChildWindow:ordered:方法で実行できNSWindowます。リファレンスはそれをかなりよく説明しているので、ここにそれをコピーします:

childWindow がウィンドウの子として追加された後、いずれかのウィンドウを含む後続の順序付け操作のために、orderingMode によって示される相対位置に維持されます。このアタッチメントがアクティブな間、childWindow を移動してもウィンドウは移動しませんが (引き出しをスライドさせたり外したりする場合と同様)、ウィンドウを移動すると childWindow が移動します。

基本的に、親ウィンドウを移動すると、コードを追加しなくても子ウィンドウが一緒に移動します。あなたが望むもののように聞こえます。

于 2012-09-30T21:46:36.503 に答える