2017-04-10 2 views
0

J'ai donc un NSTableView de travail parfait pour un Mac App. J'ai ajouté une nouvelle colonne, et j'essaie de la définir comme Combo, mais je suis confrontée à beaucoup de problèmes. Tout d'abord, si je glisse et dépose le NSComboBoxCell sur le Storyboard, il perdra toutes mes autres colonnes (chose étrange n ° 1). J'ai donc décidé d'écraser mon NSTextFieldCell, qui semble être la solution. Mais maintenant, les éléments de ma liste déroulante n'apparaissent pas.NSComboBoxCell n'affichera pas les valeurs

- (NSView*)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { 
NSTableCellView *cell = [tableView makeViewWithIdentifier:tableColumn.identifier owner:self];  

if ([tableColumn.identifier isEqualToString:@"typeCell"]) { 
    NSComboBoxCell *combo =(NSComboBoxCell*) [cell.textField viewWithTag:10]; 

    [combo addItemsWithObjectValues:@[@"Test"]]; 

} 

Une idée de ce que je fais mal? La colonne est également déjà modifiable.

Répondre

0

Vous confondez NSTableCellView (une sous-classe de NSView, utilisé pour les cellules dans une vue de table à base de vue) et NSTextFieldCell (une sous-classe de NSCell, utilisé pour les cellules dans une vue de table à base de cellules).

Solution à la chose étrange 1: faites glisser un NSComboBox (sans Cell) à la vue du tableau.

doit renvoyer un (sous-classe de) NSView, et non un (sous-classe de) NSCell.

[cell.textField viewWithTag:10] renvoie une sous-vue d'un NSTextField. Vous ne devriez pas mettre de sous-vues au NSTextField et je ne pense pas que vous l'ayez fait.

les articles sur ma combobox n'apparaissent pas

combo est nil.

+0

tks! La solution pour Weird Thing 1 a résolu le problème! – Walucas