4

問題があります。[私が見つけることができる唯一の例は、WWDC 2011 プレゼンテーションの 1 つ (「Xcode 4 で生産性を最大化する」) で示されましたが、利用可能なソースはありません (Birdathon と呼ばれるアプリでした)。私が思いついた他のすべてはiOS用であり、翻訳されていません.]

基本的に、ビューベースの NSTableView がいくつかあり、現在、NSTableCellView 内の画像/テキスト フィールドを列に直接配置しています。セル内で使用する各テキスト フィールドに値を割り当てるアウトレットを提供する NSTableCellView のサブクラスがあります。DataSource と Delegate が実装され、正常に動作しています。カスタム NSTableViewCell を使用した TableView は正常に動作します。

私の問題は、複数の異なるテーブルで同じセルを使用したいということです。毎回同じレイアウトを再作成するのではなく、IB で一度だけ NSTableCellView を描画できるようにすべきだと思います。[- 実際、私が言及した Birdathon の例は、NSTableCellView が独自の NIB に配置されていることを示しているようです。]

iOS の答えは多くの場所で見つかりました。たとえば、次のようになります。 Xib ファイルからカスタム UITableViewCells をどのようにロードしますか?

Mac上のCocoa用にそれを変更するのを手伝ってくれる人はいますか?

ありがとう、

デビッド

4

1 に答える 1

1

このような!

- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView {
    return count;
}
- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { 
    NSView *customView = [tableView makeViewWithIdentifier:@"customview"
                                                     owner:self];
    …… // set properties
    return customView;
}

インターフェイス ビルダーで、カスタム セル ビューの識別子を「customview」に設定すると、自動的に作成されます。例:

Xcodeで識別子を設定する

「自動」を使用している識別子に置き換えるだけです

于 2011-11-28T06:02:39.043 に答える