Comment utiliser correctement NSCollectionView and Outlets?
-
10-07-2019 - |
Question
J'essaie désespérément de connecter des contrôles de NSViews qui résideront dans un NSCollectionView à l'aide de prises. La vue de collection est alimentée à l'aide d'un NSArrayController.
J'ai créé NSView dans un fichier NIB séparé et dans l'implémentation de NSCollectionViewItem, j'ai écrasé copyWithZone pour le charger:
-(id)copyWithZone:(NSZone *)zone
{
id result = [super copyWithZone:zone];
[NSBundle loadNibNamed:@"InputView" owner:result];
return result;
}
J'ai utilisé cette approche selon ces instructions .
Malheureusement, voici ce qui se passe:
Le NSView ressemble à ceci:
NSCollectionView réside dans un NSScrollView et la barre de défilement est configurée pour l'activer automatiquement. Mais comme vous pouvez le voir, il n'y a pas de barre de défilement.
Je ne comprends pas vraiment ce que je dois faire pour que NSCollectionView connaisse les dimensions de ses NSViews.
Cela fonctionnait auparavant lorsque je n'avais pas de fichier NIB séparé, mais je ne pouvais pas alors établir de connexion de sortie entre la vue et l'élément: - (
La solution
Combien y a-t-il d'éléments dans le contrôleur RAID? Votre sortie semble correcte pour ce que vous avez décrit, en supposant qu'il y ait au moins 14 éléments dans le contrôleur (1 vue par élément). Le dimensionnement est juste à côté. Le problème que vous essayez de résoudre n'est pas clair.
Peut-être recherchez-vous une grille et devez-vous appeler setMaximumNumberOfColumns:
? Ou peut-être que vos vues ne sont pas redimensionnées comme prévu (consultez -maxItemSize
et -minItemSize
)?