Arrangement de vues en grille pour optimiser l'espace.

Nebuchad34Nebuchad34 Membre
septembre 2009 modifié dans API AppKit #1
Bonjour !

Je dispose d'un tableau contenant un certain nombre de vues (quantité variable).
Chacune de ces vues est redimensionnable je souhaiterais respecter leur proportion rectangulaire en les disposant toutes côte à  côte dans une scrollView de manière à  optimiser l'espace (comme les éveènements dans un iPhoto par exemple) avec possibilité de choisir la taille avec un slider.

Je ne sais pas trop comment m'y prendre, et en plus, j'essaye de travailler avec les scrollView mais j'ai vraiment du mal à  comprendre leur fonctionnement.

---

Edit : Apparemment je ferais bien de regarder du côté de NSCollectionView..

Réponses

  • Philippe49Philippe49 Membre
    20:56 modifié #2
  • Nebuchad34Nebuchad34 Membre
    septembre 2009 modifié #3
    NSCollectionView pourrait faire l'affaire, mais j'ai un problème pour l'implémenter.

    En effet, il NSCollectionViewItem possède une "view" et un "representedObject"

    En supposant que mon representedObject est une NSimage,
    je n'ai plus qu'à  mettre une NSImageView dans la "view" de l'item et à  "binder" sa valeur à  "representedObjet"

    Tous les exemples de projets que j'ai vu reposent sur ce principe.

    Mais le problème que je rencontre, c'est que mon "representedObjet" n'est pas un modèle, mais une vue complexe !

    J'ai en effet une NSArray de views dans mon controller,
    (chacune de ces vues possédant une propriété dataSource affectée au controller en question, qui définit ainsi le contenu de mes vues en fonction de leur position dans la NSArray...)

    et je voudrais pouvoir les afficher dans une NSCollectionView, sauf que je suis obligé, à  priori, de passer par un NSCollectionViewItem et je ne sais pas trop comment faire.

    Je sais pas si c'est très clair  :)


    <br />MON CONTROLLER<br />&nbsp; &nbsp; &nbsp; NSMutableArray *seatingViews<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  // seatingViews contient des vues telles que :<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SeatingView *seatingView;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; seatingView.dataSource = self;<br /><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //le nombre de seatingView dépend d&#39;un modèle et à  chque modification du modèle mes vues sont sont redéfinies par le controller qui est leur dataSource, soit toutes supprimées et recréées&nbsp; &nbsp; &nbsp; <br />je veux simplement afficher ces vues dans ma collectionView, comment faire ????<br />
    


  • Philippe49Philippe49 Membre
    20:56 modifié #4
    As-tu vu ce Quick Start de la doc Apple ?
  • Philippe49Philippe49 Membre
    20:56 modifié #5
    dans 1254037938:

    As-tu vu ce Quick Start de la doc Apple ?


    Un bon tuto ... à  quelques imprécisions près.

    • Oubli classique de cocher "Prepares Content" dans le NSArrayController
    • Je ne vois pas l'intérêt des méthodes KVO compliant qui sont redéfinies comme le fait sans doute le @synthesize, aumoins pour ce qui concerne les méthodes -(void)setPersonModelArray:(NSMutableArray*)a et -(NSMutableArray*)personModelArray

Connectez-vous ou Inscrivez-vous pour répondre.