Personnalisé NSTableView personnalisé NSTableCellView?

Je voudrais créer un NSTableview personnalisé NSTableCellViews.

Voici ce que j'ai en ce moment:

  • Une plume de fichier pour la cellule (vue nib), appelé CustomCell.xib
  • Une classe personnalisée pour mon cellulaire appelé CustomCell
  • Et le code dans mon AppDelegate.m:

Ici, j'ai créer ma table, vue par programme:

    NSScrollView *tableContainer = [[NSScrollView alloc]initWithFrame:NSMakeRect(self.window.frame.size.width-TABLEWIDTH, 0, TABLEWIDTH, self.window.frame.size.height)];
    NSTableView *tableView = [[NSTableView alloc] initWithFrame:NSMakeRect(self.window.frame.size.width-TABLEWIDTH, 0, TABLEWIDTH, self.window.frame.size.height)];

    NSTableColumn *firstColumn = [[[NSTableColumn alloc] initWithIdentifier:@"firstColumn"] autorelease];
    [[firstColumn headerCell] setStringValue:@"First Column"];
    [tableView  addTableColumn:firstColumn];

    tableView.dataSource = self;
    tableView.delegate = self;
    [tableContainer setDocumentView:tableView];
    tableContainer.autoresizingMask = NSViewHeightSizable | NSViewMinXMargin;
    [self.window.contentView addSubview: tableContainer];

Et voici le délégué de la méthode où je voudrais mettre ma cellule personnalisé code:

- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {


    //In IB the tableColumn has the identifier set to the same string as the keys in our dictionary
    NSString *identifier = [tableColumn identifier];

    if ([identifier isEqualToString:@"myCell"]) {

        //We pass us as the owner so we can setup target/actions into this main controller object
        CustomCell *cellView = [tableView makeViewWithIdentifier:identifier owner:self];
        //Then setup properties on the cellView based on the column
        cellView.textField.stringValue = @"Name";
        return cellView;
    }
    return nil;
}

Dans la plume de fichier pour mon custom de la cellule, j'ai accroché jusqu'à la cellule de vue avec ma classe personnalisée appelé CustomCell qui les sous-classes NSTableCellView. Je n'ai pas fait toutes les autres étapes comme pour l'instant. Donc, mon CustomCell.m est juste par défaut code d'initialisation. Je n'ai pas touché. Et je n'ai rien d'autre dans ma plume fichier, je n'ai donc pas de changement de propriétaire du fichier ou quelque chose comme ça parce que je ne sais vraiment pas quoi faire.
Quelqu'un peut-il vous aider ? J'ai regardé des exemples de fichiers à partir de la documentation d'Apple, mais après des jours de recherche je n'ai pas trouvé de solutions. J'apprécierais vraiment si vous pouviez m'aider.

  • Pouvez-vous préciser ce qu'est la question? J'ai lu votre post une couple de fois & je ne peux pas discerner ce problème que vous rencontrez.
  • J'ai un NSTableView et je veux cellules avec une apparence personnalisée. J'ai donc mis en place une plume fichier de vue où je n'ai que cette NSTableCellView cellule. Maintenant, j'ai envie de programmation pour faire mon NSTableView pour afficher ces cellules à partir de la pointe de fichier. Toutefois, le code ci-dessus n'a pas vraiment changer quelque chose dans ma table. Du sens ?
  • avez-vous résoudre ce problème ? J'ai trébucher à la même question ...
  • Oui je l'ai fait. Veuillez jeter un oeil à la réponse ci-dessous. J'ai fait ça il y a longtemps et j'ai ajouté un peu de code dès maintenant sur le dessus de ma tête, donc si vous rencontrez des erreurs, s'il vous plaît laissez-moi savoir 😉
InformationsquelleAutor the_critic | 2012-10-08