2009-09-13 7 views
8

NSSplitViewがあります。左側には、ソースリストのようなtableViewがあり、行の選択に応じて、分割の右側を変更したいビュー。私はこれをどうやって行うのか、本当に分かりません。プログラムでNSSplitViewの片側を設定する

私が望むサブビューをsplitviewに追加すると、別の分割が追加されます(今は合計3つのビューがあります...私が望むものではありません)。

[mySplitView addSubview:myCustomView]; 

splitviewの右側を正しく設定するにはどうすればよいですか?

[mySplitView replaceSubview:[[mySplitView subviews] objectAtIndex:1] withSubview:myCustomView] 

を使用して

更新

が動作しているようです、しかし私がこれをどのように停止することができ、かなり奇妙な分割ビューのサイズを変更するのですか? IBにはautoResizesSubviewsを無効にするオプションがありますが、これをオフにすることはできません。何か案は?

答えて

9

スワップを実行する前に、新しいビューのフレームを古いビューのフレームに設定してみてください。

+0

美しく動作します。ありがとう! – jbrennan

+0

どうやってそれをしますか? – JonF

+1

@JonF:1.古いビューのフレームを取得します。 2.新しいビューのフレームをそのビューに設定します。 3.新しいビューの古いビューを入れ替えます。 –

0

さらに、分割ペインの両側のサイズを設定するための方がはるかに良い方法を提供するBWToolkitをご覧ください。

+0

これまで私はそれを調べましたが、おそらく最終的に使用するでしょう。今のところ私は「ハード・ウェイ」のやり方を学び、より良く理解できるようにしたいと思っています。私がツールキットを使い始めると、あまりにも多くのことが魔法のように感じられます。私が快適な後、私はそれを使用する可能性が高いです。私はそれについて良いことは何も聞いていない。 – jbrennan