ich etwas Ähnliches bin zu wollen, wie iWork die Vorlage Auswahlbildschirm für Seiten hat, wenn Sie verschiedene Vorlagen auswählen können, und jede Ansicht enthält verschiedene Informationen hat Größen Unterschied usw.Gibt es eine Möglichkeit, unterschiedliche Ansichten in einer NSCollectionView zu haben?
Ich habe Subklassen NSCollectionView versucht und bestimmen, welche Ansicht angezeigt Mit der Methode newItemForReprenededObject (im Gegensatz zur Verwendung der itemPrototype-Ansicht Interface Builder) werden die Ansichten aus irgendeinem Grund nicht korrekt positioniert, und es wird nicht die korrekte Anzahl von Ansichten für die Anzahl der vorhandenen Elemente angezeigt. Hier ist mein Code. Ich habe gehofft, dass jemand einen besseren Weg hat, dies zu tun, oder ein Beispiel dafür, wie das gemacht wird.
personView und companyView sind Eigenschaften in der untergeordneten NSCollectionView, die IBOutlets für Ansichten in IB sind.
-(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;
}
Vielleicht könnte dies helfen: http://stackoverflow.com/questions/1210352/how-do-i-bind-programatically-in-the-view-subclass-of-my-nscollectionview?rq=1 –