PDA

View Full Version : Why the splash window canít show before the App lunch?




xiaohuli170
Mar 31, 2009, 04:27 AM
0 vote down
star


I want to show a splash Screen before the App lunch. First I make the SplashWindow subclassing the NSWindow, the code is : - (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;

}

and then in the awake from nib in the main app controller:

loadWindow = [[NSWindow alloc] initWithContentRect:[loadWindow frame] styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:YES]; [loadWindow setContentView:theView]; [loadWindow setHasShadow:YES]; [loadWindow setLevel:NSStatusWindowLevel]; [loadWindow makeKeyAndOrderFront:self];

and then I let the loadWindow closed after 3 secondes, I used the method

[loadWindow orderOut:self],but when the splash window closed , the mainwinow didn't show . what am I missing? My App is a multi_Documents . and in the mainMenu.nib there was one window(loadwindow),in IB I have connected up the loadWindow outlet in the main controller. I have also connected the view and image. and I changed another way : in the delegate method:applicationWillFinishLaunching: I orderFront the loadWindow , in the method:applicationDidFinishLaunching: I orderOut the loadWindow after 3 seconds, but the mainWindow didn't show too.Somebody can give some advice or codes the result the problem? Thank you very much!