2010-07-15 6 views
3

Lorsque vous créez une nouvelle application dans Xcode, elle crée automatiquement un AppDelegate et un MainMenu.xib. Ce dernier contient également la fenêtre principale de l'application, qui est liée à AppDelegate en tant qu'IBOutlet.Modèle d'application Cocoa - MainMenu.xib - Fenêtre principale

Ce que j'ai essayé de faire, c'est d'utiliser une MainWindow d'un fichier xib différent. Cependant, il n'y a absolument rien que je puisse faire pour empêcher Cocoa d'afficher la première fenêtre créée en premier lieu, même si je supprime le lien IBOutlet et le commente dans le fichier source ...

Espérons que quelqu'un peut expliquer cela, comme il a été me casser les pieds pendant un certain temps maintenant ...

Répondre

4

Si oui ou non une fenêtre dans un catalogue, est montré au lancement est pas contrôlée par un code explicite, mais contrôlé par l'état de la fenêtre "lyophilisé" dans le XIB. Plus concrètement, dans un inspecteur d'un NSWindow dans l'Interface Builder, vous avez l'option Visible at launch sous la rubrique Behavior. Lorsque le système Cocoa charge une plume et rencontre une fenêtre avec ce bit activé, il l'affiche à l'écran. Il est indépendant de savoir si vous avez IBOutlet ou non. Vous voyez, c'est aussi le système Cocoa qui définit les objets de l'interface utilisateur à IBOutlet lorsqu'il charge une plume ... il peut faire ce qu'il veut.

+0

Cela explique que: P Merci beaucoup :) – fresskoma

Questions connexes