2011-01-28 19 views
3

タブをクリックしたときにNSTabViewのNSWindowのサイズをスムーズに変更するにはどうすればよいですか?私はそれが "システムの優位性"アプリケーションを好きにしたい:ウィンドウは内容に応じてサイズを変更します。Cocoa自動サイズ変更可能ウィンドウ

答えて

7

NSWindowのsetFrame:animated:メソッドを使用します。ウィンドウのサイズを変更する場合は、ウィンドウのサイズを増やすのと同じ量だけ、原点のy座標を減らしてください。ウィンドウ内のビューのサイズを変更するには、自動サイズ変更プロパティが正しく設定されていることを確認してください。

NSWindow *window; 
CGFloat widthChange, heightChange; 

NSRect frame = [window frame]; 
frame.size.width += widthChange; 
frame.size.height += heightChange; 
frame.origin.y -= heightChange; 
[window setFrame:frame animated:YES]; 
+0

パーセンテージを使用してInterface Builderでこれを行うことはできませんか?私はしばらく前からそれを覚えているようですが、間違っているかもしれません。 – jschorr

+1

IBは、ウィンドウのフレームに関する情報をパーセンテージで保存するので、異なるサイズの画面では見栄えがよくなると思いますが、タブを変更したときにウィンドウのサイズを変更する方法はありません。あなたはプログラムでそれをしなければなりません。 – ughoavgfhw

関連する問題