3

NSTableCellViewビューベースののために別のXIBファイルを持つことは可能NSTableViewですか?多分?の助けを借りてNSViewController

4

1 に答える 1

2

はい、可能のようです。

Appleのドキュメントから:

機能するには、プログラムで実装されたビューベースのテーブルが以下を実装する必要があります。

..。

-(NSView *)tableView:viewForTableColumn:row:NSTableViewDelegateプロトコルによって定義されたメソッド。このメソッドは、特定の列と行のセルとして表示するビューをテーブルに提供するだけでなく、そのセルに適切なデータを入力します。

このようにして、クラスNSView(または任意のサブクラス)のオブジェクトを作成し、データを適切に入力した後でそれを返すことができます。このオブジェクトをどこから取得するかは重要ではありません。私の知る限り、たとえば次のようにすることができます。

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    // Assume you have a XIB called View.xib
    [NSBundle loadNibNamed:@"View" owner:self];
    
    // And you have an IBOutlet to your NSTableView (that's view based) called tView
    [tView reloadData];
}

- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView {
     return 20;
}

- (NSView *)tableView:(NSTableView *)tableView
   viewForTableColumn:(NSTableColumn *)tableColumn
                  row:(NSInteger)row {


    // Assume your class has an IBOutlet called contentOfTableView, 
    // your class is File's Owner of the View.xib and you connected the outlet.
    return contentOfTableView;

}

それがうまくいくことを願っています。大まかなアイデアを考えて一緒に投げました。幸運を!

于 2012-05-29T16:03:29.757 に答える