Sono voler qualcosa di simile a come iWork ha la schermata di selezione del modello per le pagine quando è possibile selezionare i modelli differenti, e ogni vista contiene informazioni diverse ha formati di differenza, eccC'è un modo per avere viste diverse in un NSCollectionView?
ho cercato sottoclassi NSCollectionView e determinare quali Visualizza per visualizzare utilizzando il metodo newItemForRepresentedObject (anziché utilizzare la vista itemPrototype Interface Builder), ma per qualche motivo non posiziona correttamente le viste e non mostra il numero corretto di visualizzazioni per il numero di elementi presenti. Ecco il mio codice. Speravo che qualcuno potesse avere un modo migliore per farlo, o un esempio di come è fatto.
personView e companyView sono proprietà nella sottoclasse NSCollectionView, ovvero IBOutlet alle viste in IB.
-(NSCollectionViewItem *)newItemForRepresentedObject:(id)object{
NSCollectionViewItem *collectionViewItem = [[NSCollectionViewItem alloc] init];
[collectionViewItem setRepresentedObject:object];
if([[object valueForKey:@"company"] boolValue] == YES){
NSView *view = [companyView retain];
[collectionViewItem setView:companyView];
}else{
[collectionViewItem setView:personalView];
}
return collectionViewItem;
}
Forse questo potrebbe aiutare: http://stackoverflow.com/questions/1210352/how-do-i-bind-programatically-in-the-view-subclass-of-my-nscollectionview?rq=1 –