estoy queriendo algo semejante a como iWork tiene la pantalla de selección de plantillas para las páginas cuando se puede seleccionar diferentes plantillas, y cada vista contiene información diferente tiene tamaños de la diferencia etc.¿Hay alguna manera de tener diferentes vistas en un NSCollectionView?
me han tratado de subclases NSCollectionView y determinar qué vista para mostrar utilizando el método newItemForRepresentedObject (en oposición a usar itemPrototype view Interface Builder), pero por alguna razón no posiciona las vistas correctamente, y no muestra el número correcto de vistas para la cantidad de elementos presentes. Aquí está mi código. Esperaba que alguien pudiera tener una mejor manera de hacerlo, o un ejemplo de cómo se hace esto.
personView y companyView son propiedades en el NSCollectionView subclasificado, que son IBOutlet para vistas en 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;
}
Quizás esto ayude: http://stackoverflow.com/questions/1210352/how-do-i-bind-programatically-in-the-view-subclass-of-my-nscollectionview?rq=1 –