Compartement bizzare de NSTableView
belt
Membre
Dans IB, je choisis l'option "Use Alternating rows Background" et quand je remplis l'un quelconque des champs de mon NSTableView avec du texte, le fond coloré disparaà®t !
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
[tt]
-(void)tableView:(NSTableView *)tableView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn row:(int)row
{
if ((row % 2)==0)
{
[cell setBackgroundColor:[NSColor whiteColor]];
}
else
{
[cell setBackgroundColor:[NSColor colorWithCalibratedRed:(237.0/255.0) green:(243.0/255.0) blue:(254.0/255.0) alpha:1.0]];
}
}
[/tt]
Les bugs dans les frameworks cocoa sont-ils nombreux ?
Les min et max content size donnent selon certaines valeurs un comportement erratique...??? Bon à l'époque c'était sur Panther, peut-etre que sous Tiger cela a été corrigé, mais je n'ai pas essayé.
Quand au code ci-dessus, tu peux l'optimiser en conditionnant les colonnes pour lesquelles tu veux que le background soit redessiné.(colonnes éditables seulement)
[tt]-(void)tableView:(NSTableView *)tableView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn row:(int)row
{
if (| [[tableColumn identifier] isEqualToString:@"colonne3"])<br /> {<br /> if ((row % 2)==0)<br /> {<br /> [cell setBackgroundColor:[NSColor whiteColor;
}
else
{
[cell setBackgroundColor:[NSColor colorWithCalibratedRed:(237.0/255.0) green:(243.0/255.0) blue:(254.0/255.0) alpha:1.0]];
}
}
}
[/tt]