2011-07-30 16 views
0

NSWindowNSViewを作成しました。私はウィンドウの右側にビューを "ドッキング"しようとしているので、ウィンドウを拡大縮小すると、ビューは常に右側にとどまります。NSWindowの右側に固定オブジェクト

提案がありますか?

答えて

2

親ウィンドウの通知をNSWindowDidResizeNotificationのためにオブザーバーを追加し、それに応じて子ウィンドウのフレームを調整します。

+0

正しいですが、質問者が彼が知らないかもしれない何かをしたと仮定しています。 @ジョナSiegle:あなたは子供のウィンドウにビューを配置する必要があります。 http://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSWindow_Class/Reference/Reference.html#//apple_ref/occ/instm/NSWindow/addChildWindow:ordered: –

+0

どういうわけか彼はすでに子ウインドウを持っていると思っていましたが、もう一度質問を読んだので、自動サイズ設定のマスクを設定するのは簡単なケースです。 – omz

2

そのスーパービューの右上隅にあるビューを維持する必要があり

[myView setAutoResizingMask: NSViewMaxXMargin | NSViewMaxYMargin]; 

使用

。右側全体が必要な場合は、代わりに NSViewMaxXMargin | NSViewHeightSizeable | NSViewMinYMargin | NSViewMaxYMarginを使用してください。それは右側に固定され、上部と下部はスーパービューでサイズが変更されます。今すぐそれを正しい場所に置き、そこにとどまるべきです。

+1

あなたは質問を、ウィンドウ内の右端または右隅に表示する方法として解釈しましたが、質問者が窓の外側にあるように質問をして、右端にぶら下がっているように聞こえます。 (MaxX | MaxY)=あなたの例では、MaxX | MaxY =は下位レベルに固定されていますが、左上、右上ではありません) –

+0

はい、それはNSViewがNSWindow上に書いてあるので、それをどのように解釈したかです。そしてあなたはNSViewXXXビットについて正しいです。私はアンカーに慣れていますが、これは正反対です。 –

関連する問題