Domanda

Ho un NSOutlineView legato ad un NSTreeController (se questo fa la differenza), e mi piacerebbe espandere ogni nodo nel mio -awakeFromNib().

Vorrei anche per selezionare programatically il primo figlio del primo nodo allo stesso tempo. Questi tipi di cose sono semplici, con vista da tavolo, ma contorni non stanno cooperando con me a tutti.

Grazie,

Rich

È stato utile?

Soluzione

  

mi piacerebbe espandere ogni nodo nel mio -awakeFromNib ().

A partire da Mac OS X 10.5, [outlineView expandItem:nil expandChildren:YES].

Nelle versioni precedenti di Mac OS X, è necessario scorrere da 0 al numero di righe, ottenendo la voce per ogni riga utilizzando [outlineView itemAtRow:row], e la memorizzazione di tali elementi in una matrice, quindi itera la matrice e passare ciascun elemento al metodo expandItem:expandChildren:. (Non è possibile mescolare i due cicli, perché l'espansione di un elemento e tutti i suoi discendenti cambieranno gli indici di riga dei suoi fratelli successivi, pertanto, è necessario raccogliere tutti gli elementi di livello superiore prima, quindi espandere loro una volta che avete tutti loro. )

  

Vorrei anche per selezionare programatically il primo figlio del primo nodo allo stesso tempo.

Subito dopo quanto sopra, sarà fila 1.

Una vista struttura è un tipo di visualizzazione della tabella, quindi dovrete utilizzare uno dei metodi di NSTableView:. [outlineView selectRowIndexes:[NSIndexSet indexSetWithIndex:1] byExtendingSelection:NO]

Altri suggerimenti

Se si sta caricando da un'origine dati,

dispatch_async(dispatch_get_main_queue(), ^{
  [self.outlineView expandItem:root expandChildren:YES];
});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top