¿Cómo usar NSCollectionView y Outlets correctamente?
-
10-07-2019 - |
Pregunta
Estoy tratando desesperadamente de conectar controles de NSView que residirán en un NSCollectionView usando salidas. La vista de colección se alimenta utilizando un NSArrayController.
Creé el NSView en un archivo NIB separado y en la implementación de NSCollectionViewItem sobrescribí copyWithZone para cargarlo:
-(id)copyWithZone:(NSZone *)zone
{
id result = [super copyWithZone:zone];
[NSBundle loadNibNamed:@"InputView" owner:result];
return result;
}
He utilizado este enfoque de acuerdo con estas instrucciones .
Desafortunadamente esto es lo que está sucediendo:
??
El NSView se ve así:
??
El NSCollectionView reside en un NSScrollView y la barra de desplazamiento está configurada para habilitarse automáticamente. Pero como puede ver, no hay barra de desplazamiento.
Realmente no entiendo lo que tengo que hacer para que NSCollectionView conozca las dimensiones de sus NSViews.
Funcionó antes cuando no tenía un archivo NIB separado, pero luego no pude hacer conexiones de salida desde la vista al elemento :-(
Solución
¿Cuántos elementos hay en el controlador de matriz? Su salida se ve correcta para lo que ha descrito, suponiendo que haya al menos 14 elementos en el controlador (1 vista por elemento). El tamaño está justo fuera. No está claro qué problema estás tratando de resolver.
¿Quizás estaba buscando una cuadrícula y necesita llamar a setMaximumNumberOfColumns:
? ¿O tal vez sus vistas no están siendo redimensionadas como espera (verifique -maxItemSize
y -minItemSize
)?