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:

alt text

Le NSView ressemble à ceci:

alt text

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: - (

Était-ce utile?

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 )?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top