Conteneur de NSView
ademo
Membre
Bonjour,
Je me lance dans mon premier projet grandeur nature depuis mon switch.... Il ne me semble pas avoir trouvé ici la solution à mon problème.
Sur ma fenêtre principale j'ai une NSOutlineView (sur la partie gauche) dans laquelle je choisis ce que je veux faire. Je charge alors une NSView dans un fichier nib et j'aimerai la faire appraà®tre dans toute la zone de droite. Comme dans mail (ou Outlook...) par exemple.
Comment faire ?
Je n'ai rien trouver d'autre (mais je débute) que l'exemple d'Apple qui consiste à avoir dans le controlleur de la fenêtre principal un outlet sur une NSTabView (à 1 seul item) puis de mettre la NSView (includeView) dans un NSTabViewMenuItem via
[[outlet_en_question selectedTabViewItem] setView: includeView ]
Le souci que j'ai c'est que je n'arrive pas à placer cette includeView en haut à gauche du cadre, elle se trouve, en toute logique, en bas à gauche. Comment faire pour la redimensionner ? J'ai essayé avant de la placer et après mais en vain.
Merci.
Je me lance dans mon premier projet grandeur nature depuis mon switch.... Il ne me semble pas avoir trouvé ici la solution à mon problème.
Sur ma fenêtre principale j'ai une NSOutlineView (sur la partie gauche) dans laquelle je choisis ce que je veux faire. Je charge alors une NSView dans un fichier nib et j'aimerai la faire appraà®tre dans toute la zone de droite. Comme dans mail (ou Outlook...) par exemple.
Comment faire ?
Je n'ai rien trouver d'autre (mais je débute) que l'exemple d'Apple qui consiste à avoir dans le controlleur de la fenêtre principal un outlet sur une NSTabView (à 1 seul item) puis de mettre la NSView (includeView) dans un NSTabViewMenuItem via
[[outlet_en_question selectedTabViewItem] setView: includeView ]
Le souci que j'ai c'est que je n'arrive pas à placer cette includeView en haut à gauche du cadre, elle se trouve, en toute logique, en bas à gauche. Comment faire pour la redimensionner ? J'ai essayé avant de la placer et après mais en vain.
Merci.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Pour redimensionner et/ou déplacer une vue, tu dois utiliser la méthode - (void)setFrame:(NSRect) frameRect
A noter que, si tu ne veux que déplacer, ou qu'agrandir, tu as également des variantes permettant de ne changer que l'origine ou que la taille (regardes la doc de NSView).
Ce view permet d'héberger 2 sub-views, l'une à gauche, l'autre à droite, avec en prime la possibilité de régler la taille de l'une par rapport à l'autre.
Enfin, pour changer le include-view dynamiquement, il suffit d'utiliser la méthode replaceSubview:with: de NSView avec en paramètre l'ancien include-view à virer, et le nouveau include-view à faire apparaitre.
.
Pourquoi une NSTabView avec un seul item ?
Une simple custom view devrait suffire .
Une fois bien réglé, normalement, ta custom view s'adapte correctement à son contenant.
A+
Ou sinon, plus sympa pour l'utilisateur c'est de faire une tite animation de redimensionnement de la fenêtre à la taille adéquat pour contenir la vue
Merci à tous.