NSOutlineView の「DataCell」ビューにアイテムをリストしましたが、それらすべてをカスタム ルート グループに配置する方法がわかりません。NSOutlineView アイテムのデフォルト グループを意味しますが、いくつかのサブビュー (ボタンや画像など) があります。もう 1 つ、たとえば、アイテムの 2 つのグループがありますが、そのうちの 1 つにはサブビューがあり、2 つ目は「非表示」トグル ボタンしかありません。
- (NSView *)outlineView:(NSOutlineView *)outlineView viewForTableColumn:(NSTableColumn *)tableColumn item:(id)item {
if (![item isKindOfClass:[FSEntity class]]) {
return [outlineView makeViewWithIdentifier:@"HeaderCell" owner:self];
} else {
NSTableCellView *cellView = [outlineView makeViewWithIdentifier:@"DataCell" owner:self];
cellView.textField.stringValue = [((FSEntity *)item) title];
return cellView;
}
}
そのためには、次の方法が必要ですか?
- (BOOL)outlineView:(NSOutlineView *)outlineView isItemExpandable:(id)item
- (BOOL)outlineView:(NSOutlineView *)outlineView isGroupItem:(id)item
しかし、これらの機能で作成されたアプリケーションは Tiger や Snow Leopard で実行できますか? それとも、セルベースのテーブル ビューに戻す必要がありますか? しかし、セルベースの NSOutlineView を使用して上記のすべてを行うには、少なくともアイテムのグループに Square Button を追加する方法を教えてください。
注: NSURL のプロトコルに基づいてアイテムを列挙したため、アレイには列挙元のルート ディレクトリがありません。