Come impostare il colore di sfondo con cellule di tipo NSButtonCell in NSTableView?
-
20-09-2019 - |
Domanda
Questa è la mia vista tabella delegato:
- (void)tableView:(NSTableView *)tableView willDisplayCell:(id)aCell forTableColumn:(NSTableColumn *)tableColumn row:(int)row
{
id theRecord;
NSMutableString *gid;
theRecord = [tableDataSource objectAtIndex:row];
gid = [theRecord objectForKey:@"gid"];
if (([gid intValue] % 2) != 0)
{
[aCell setDrawsBackground: YES];
[aCell setBackgroundColor: [NSColor colorWithCalibratedRed: 237.0 / 255.0
green: 243.0 / 255.0
blue: 254.0 / 255.0
alpha: 1.0]];
}
else
{
[aCell setDrawsBackground: NO];
}
}
Funziona bene per visualizzare cellula normale ma tableView ottenere congelata dopo aggiungo una cella di tipo NSButtonCell (per casella di controllo). Come risolvere il problema?
Qualsiasi aiuto sarebbe apprezzato.
Soluzione
Secondo il NSButtonCell riferimento , è possibile specificare solo un colore di sfondo per i pulsanti senza bordi. Hai provato a utilizzare le pile a bottone senza bordi?
Inoltre, non riesco a trovare il metodo per setDrawsBackground:
NSButtonCell ; Riesco a trovare solo per NSTextFieldCell . Hai provato a rimuovere la chiamata?
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow