Gibt es eine Möglichkeit, unterschiedliche Ansichten in einer NSCollectionView zu haben?
Ich möchte etwas ähnliches, wie iWork den Vorlagenauswahlbildschirm für Seiten hat, wenn Sie verschiedene Vorlagen auswählen können und jede Ansicht unterschiedliche Informationen enthält, unterschiedliche Größen usw. hat.
Ich habe versucht, NSCollectionView einer Unterklasse zuzuordnen und mithilfe der newItemForRepresentedObject-Methode zu bestimmen, welche Ansicht angezeigt werden soll (im Gegensatz zur Verwendung von itemPrototype view Interface Builder), aber aus irgendeinem Grund werden die Ansichten nicht richtig positioniert und es wird nicht die richtige Anzahl von Ansichten für angezeigt die Anzahl der vorhandenen Elemente. Hier ist mein Code. Ich hatte gehofft, dass jemand einen besseren Weg hat, dies zu tun, oder ein Beispiel dafür, wie dies getan wird.
personView und companyView sind Eigenschaften in der Unterklasse 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;
}