Comment définir la couleur d'arrière-plan de la cellule avec le type NSButtonCell dans NSTableView?

StackOverflow https://stackoverflow.com/questions/2062605

Question

Ceci est mon délégué vue de tableau:

- (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];
    }
}

Il fonctionne très bien pour afficher la cellule normale, mais le tableview se gelé après que j'ajouter une cellule de type NSButtonCell (pour case à cocher). Comment résoudre ce problème?

Toute aide serait appréciée.

Était-ce utile?

La solution

Selon le de référence NSButtonCell, vous ne pouvez spécifier une couleur d'arrière-plan pour les boutons sans marge. Avez-vous essayé d'utiliser des piles bouton sans marge?

De plus, je ne peux pas trouver la méthode de setDrawsBackground: pour NSButtonCell ; Je ne peux trouver pour NSTextFieldCell. Avez-vous essayé de supprimer l'appel?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top