/ / Wie füge ich einer Kakaobindungstabelle ein statisches NSFolder-Image hinzu - Objective-c, Macos, Kakao, Kakaobindungen, nsimage

Wie füge ich ein statisches NSFolder-Bild zu einem Kakaobindetisch hinzu - objective-c, macos, Kakao, Kakaobindungen, nsimage

Ich habe eine Tabelle, die ihre Werte vom Kern erhältDaten und wird über Kakaobindungen hinzugefügt. Die in der Tabelle ausgedruckten Werte sind Ordnernamen. Ich möchte, dass ein NSFolder links neben jedem Ordnernamen ausgedruckt wird. Ich habe mit einer einfachen einspaltigen Tabelle angefangen, um sicherzustellen, dass meine Kakaobindungen funktionieren.

Bildbeschreibung hier eingeben

Danach habe ich versucht, eine zweite Spalte hinzuzufügen, dann fügte ich dieser neuen Spalte eine Bildzelle hinzu, ordnete die Spalten neu an und setzte das Image der Bildzelle auf NSFolder:

Bildbeschreibung hier eingeben

Wenn ich das Bild der Bildzelle in NSFolder ändere,Es ist nichts passiert, auch nicht im Interface Builder. Das Symbol blieb ein Xcode-Symbol. Und als ich den Build-Befehl ausgeführt habe, war links neben dem Ordnernamen nur ein Leerzeichen.

Von dort aus habe ich versucht, zu einer Spalte zurückzukehren und ein Bild und eine Texttabellenzellansicht hinzuzufügen, aber ich konnte nicht einmal die Kakaobindungen dazu bringen, damit zu arbeiten.

Wie kann ich also drucken, dass ein statischer NSFolder auf der linken Seite jedes Ordnernamens angezeigt wird?

Edit: Das ist was ich versuche zu erreichen:

Bildbeschreibung hier eingeben

Bearbeite # 2

Ich habe versucht, NSTableViewDelegate zu implementieren und die folgende Methode hinzuzufügen:

- (NSView *)tableView:(NSTableView *)tableView
viewForTableColumn:(NSTableColumn *)tableColumn
row:(NSInteger)row
{
NSTableCellView *cellView = [tableView makeViewWithIdentifier:tableColumn.identifier owner:self];
if ([tableColumn.identifier isEqualToString:@"FolderImageColumn"]) {
cellView.imageView.image = [[NSWorkspace sharedWorkspace] iconForFileType:NSFileTypeForHFSTypeCode(kGenericFolderIcon)];
return cellView;
}
return cellView;
}

Aber jetzt bekomme ich komplett leere Zeilen. Sie sind anklickbar und laden die Daten auf der rechten Seite, aber sie sind vollständig leer.

Bildbeschreibung hier eingeben

Antworten:

1 für die Antwort № 1

Wenn Sie die Delegat-Methoden implementieren, können Sie mit der Zelle / Ansicht interagieren, wenn diese angezeigt wird, und den Ordner oder den Inhalt anhand eines anderen Bildes erzwingen.