Existe uma maneira de ter visualizações diferentes em um NSCollectionView?
Estou querendo algo semelhante ao modo como o iWork tem a tela de seleção de modelos para o Pages quando você pode selecionar modelos diferentes, e cada exibição contém informações diferentes com tamanhos diferentes, etc.
Tentei subclassificar NSCollectionView e determinar qual exibição exibir usando o método newItemForRepresentedObject (em vez de usar o ItemPrototype view Interface Builder), mas por algum motivo não posiciona as exibições corretamente e não mostra o número correto de exibições para o número de itens presentes. Aqui está o meu código. Eu esperava que alguém tivesse uma maneira melhor de fazer isso, ou um exemplo de como isso é feito.
personView e companyView são propriedades no NSCollectionView subclassed, que são IBOutlets para visualizações no 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;
}