Question

J'ai un lié à un NSOutlineView NSTreeController (si cela fait une différence), et j'aimerais développer chaque nœud dans mon -awakeFromNib().

Je voudrais aussi sélectionner programatically le premier enfant du premier noeud en même temps. Ces sortes de choses sont simples avec vue sur la table, mais les contours ne coopèrent pas avec moi du tout.

Merci,

Rich

Était-ce utile?

La solution

  

Je voudrais développer chaque nœud dans mon -awakeFromNib ().

A partir de Mac OS X 10.5, [outlineView expandItem:nil expandChildren:YES].

Dans les versions précédentes de Mac OS X, vous devez itérer de 0 au nombre de lignes, obtenir l'élément pour chaque ligne en utilisant [outlineView itemAtRow:row] et stocker ces éléments dans un tableau, puis itérer le tableau et passer chaque élément de la méthode expandItem:expandChildren:. (Vous ne pouvez pas mélanger les deux boucles, car l'expansion d'un article et tous ses descendants vont changer les indices de ligne de ses frères et sœurs suivantes, par conséquent, vous devez recueillir tous les éléments de niveau supérieur, puis les développer une fois que vous avez tous. )

  

Je voudrais aussi sélectionner programatically le premier enfant du premier noeud en même temps.

Immédiatement après ce qui précède, ce sera la ligne 1.

Une vue générale est une sorte de vue de la table, de sorte que vous allez utiliser l'une des méthodes de NSTableView:. [outlineView selectRowIndexes:[NSIndexSet indexSetWithIndex:1] byExtendingSelection:NO]

Autres conseils

Si vous chargez d'une source de données,

dispatch_async(dispatch_get_main_queue(), ^{
  [self.outlineView expandItem:root expandChildren:YES];
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top