Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

xiaohuli170

macrumors newbie
Original poster
Jan 13, 2009
27
0
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!
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.