Je veux montrer un écran d'accueil avant le déjeuner de l'application. D'abord, je crée la SplashWindow en sous-classant la NSWindow, le code est :
- (id)initWithContentRect(NSRect)contentRect
styleMask(unsigned int)aStyle
backing(NSBackingStoreType)bufferingType
defer(BOOL)flag {
self = [super initWithContentRect:contentRect
styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:NO];
[self setBackgroundColor:
[NSColor clearColor]];
[self setLevel: NSStatusWindowLevel];
[self setAlphaValue:1.0];
[self setOpaque:NO];
[self setHasShadow: YES];
return self;
}
et ensuite dans l'awake de nib dans le contrôleur de l'application principale :
loadWindow = [[NSWindow alloc] initWithContentRect:[loadWindow frame] styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:YES];
[loadWindow setContentView:theView];
[loadWindow setHasShadow:YES]; [
loadWindow setLevel:NSStatusWindowLevel];
[loadWindow makeKeyAndOrderFront:self];
et ensuite j'ai laissé le loadWindow se fermer après 3 secondes, j'ai utilisé la méthode [loadWindow orderOut:self], mais quand la fenêtre splash s'est fermée, le mainwinow ne s'est pas montré. qu'est-ce que je manque ? Mon application est un multi_Documents. et dans le mainMenu.nib il y avait une fenêtre (loadwindow), dans IB j'ai connecté la sortie loadWindow dans le contrôleur principal. J'ai également connecté la vue et l'image. et j'ai changé une autre façon : dans la méthode de délégué:applicationWillFinishLaunching : je commandeFront la loadWindow, dans la méthode:applicationDidFinishLaunching : je commandeOut la loadWindow après 3 secondes, mais la mainWindow n'a pas montré aussi.quelqu'un peut donner quelques conseils ou codes le résultat le problème ? Merci beaucoup !