J'ai du mal à me concentrer sur le chargement des vues avec Interface Builder et NSViewController.NSViewController et plusieurs sous-vues à partir d'un Nib
Mon objectif est d'avoir une vue qui rencontre la description suivante: Barre supérieure en haut (comme une barre d'outils mais pas exactement) qui couvre toute la largeur de la vue, et une seconde "vue du contenu" ci-dessous. Cette vue composite appartient à ma sous-classe NSViewController
.
Il était logique d'utiliser Interface Builder pour cela. J'ai créé une plume de vue, et y ai ajouté deux sous-vues, les ai disposées correctement (avec la barre supérieure et la vue de contenu). J'ai mis File's Owner
pour être MyViewController
, et les prises connexes et autres. Les vues que je souhaite charger (la barre et le contenu) sont également dans leurs propres pointes (cela pourrait être ce qui me trébuche) et ces plumes ont leur classe personnalisée définie sur la sous-classe NSView respective, le cas échéant. Je ne sais pas quoi définir comme File's Owner
(je devine MyController
car il devrait être leur propriétaire). Hélas, lorsque je lance une instance de MyViewController
, aucune de mes pointes ne s'affiche réellement. Je l'ai ajouté au contenu de ma fenêtre correctement (j'ai vérifié autrement), et en fait, les choses en quelque sorte charger. C'est-à-dire, awakeFromNib
est envoyé à la vue de la barre, mais il ne s'affiche pas dans la fenêtre. Je pense que j'ai certainement des fils croisés quelque part. Peut-être que quelqu'un pourrait donner un coup de main pour soulager une partie de ma frustration?
EDIT code pour montrer ce que je fais
Le contrôleur est chargé lorsque mon application se termine le lancement, du délégué de l'application:
MyController *controller = [[MyController alloc] initWithNibName:@"MyController" bundle:nil];
[window setContentView:[controller view]];
Et puis dans mon initWithNibName Je ne Je ne ferais rien mais j'appellerais super pour le moment.
Postez votre code. La façon dont vous initialisez votre contrôleur de vue n'est pas claire. –