web-dev-qa-db-ja.com

NSTableViewの唯一の列にTableViewのすべての幅を使用させるにはどうすればよいですか?

私は現在、Cocoaを少し学ぼうとしています(本を使用して Mac OS X用のCocoaプログラミング )。演習の1つでは、物事のリストとして機能するように、1つの列のみを持つNSTableViewを設定しました。

私を悩ませているのは、Interface Builderで、(のみ)列が常にNSTableViewの全幅を占めるようにする方法を見つけることができなかったことです。結果として、実際には1つしかないのに、常に2つの列があるように見えます。

何か案が ?

41
tsimbalar

これは、常に発生するIBの問題です(理由はわかりません)。これを解決するには、テーブルビューのサイズを2列目よりも小さいサイズに変更し、ドラッグして目的のサイズに戻すだけで、2列目が消えます。

54

これが私がXcode4.6でそれをした方法です...

IBで、テーブルビューを選択し、属性インスペクタに移動します。 「列のサイズ設定」に「均一」を選択します。次に、テーブルの列を選択し、[サイズ変更]で[テーブルで自動サイズ変更]を選択します。

これらのオプションは以下に対応します。

[tableView setColumnAutoresizingStyle:NSTableViewUniformColumnAutoresizingStyle];
[tableColumn setResizingMask:NSTableColumnAutoresizingMask];
32
sam

私は両方のステップを使わなければなりませんでした-サムの答え+デビッドダグラスによるコメント。

[tableView  setColumnAutoresizingStyle:NSTableViewUniformColumnAutoresizingStyle];
[tableColumn setResizingMask:NSTableColumnAutoresizingMask];

 //AND 
 [tableView sizeLastColumnToFit];
11
Tom Andersen