J'ai une NIB qui contient deux fenêtres, l'une est la fenêtre principale de l'application visible au lancement et l'autre est une feuille personnalisée (et donc pas visible au lancement). Lorsque la feuille est nécessaire à mes appels du contrôleur:Pourquoi ma feuille n'est-elle pas attachée à la fenêtre pour laquelle elle est exécutée?
[NSApp beginSheet: sheetWindow modalForWindow: mainWindow modalDelegate: self didEndSelector: @selector(didEndSheet:returnCode:contextInfo:) contextInfo: nil];
qui affiche la fenêtre de feuille et commence une session modale, mais la fenêtre a une norme barre de titre Aqua, n'est pas « connecté » à la fenêtre principale et peut être déplacé comme une fenêtre normale. Inutile de dire que ce n'est pas souhaitable :-). Pourquoi la fenêtre de feuille ne «sort» pas de la fenêtre pour laquelle elle est lancée, comme le font habituellement les feuilles lorsqu'elles sont commencées de cette manière? Je me demandais si le fait que je commençais la feuille à l'intérieur du -awakeFromNib
du contrôleur pouvait avoir un effet, alors j'ai déplacé la feuille vers l'action d'un bouton que je pourrais déclencher plus tard. Cela n'a pas changé le comportement. Je n'ai pas pensé à autre chose à essayer. Je cible le SDK 10.5, en utilisant Xcode 3.1.
Modifier: il semble donc que j'ai créé une boîte de dialogue modale; Les feuilles et les boîtes de dialogue app-modales sont toutes deux démarrées avec la méthode -beginSheet:modalForWindow:modalDelegate:didEndSelector:contextInfo:
. Mais comment est-ce que j'indique que ma fenêtre devrait être une feuille et pas un un dialogue modal?
Vérifiez que mainWindow n'est pas vide. –
Je ne vois rien de mal à ce sujet, peut-être que le contexte pourrait aider. –
Vous devriez faire une réponse, Nathan. C'est presque certainement vrai. – Chuck