Cra*_*gly 3 macos cocoa objective-c xcode4
我创建了一个cocoa应用程序(不是基于文档的),并且具有默认的MyAppDelegate类和MainMenu nib文件.我还创建了一个新的nib,它包含一个名为Splash的窗口和一个名为SplashWindowController的窗口控制器类(NSWindowController).
我想要的是,当应用程序启动而不是MainMenu nib窗口打开时,我想打开Splash窗口.
我想我必须在我的AppDelegate类中创建一个SplashWindowController的实例,然后实例化窗口并将其设置为前面.但是我尝试过几个方法,比如在我的AppDelegate类中包含对SplashWindowController.h文件的引用,以及向MainMenu nib添加一个对象,并将其类设置为SplashWindowController.但两者都没有运气.
如果那里的任何人可以帮助我解决这个问题,那么对于一天中最好的部分来说,我们会非常感激这一点(看似简单的任务).
提前致谢.
Ann*_*nne 10
您可以简单地将两个窗口合并为一个.xib文件.
ExampleAppDelegate.h
#import <Cocoa/Cocoa.h>
@interface ExampleAppDelegate : NSObject <NSApplicationDelegate> {
IBOutlet id splash;
IBOutlet id window;
}
- (IBAction)closeSplashButton:(id)sender;
- (void)closeSplash;
@end
Run Code Online (Sandbox Code Playgroud)
ExampleAppDelegate.m
#import "ExampleAppDelegate.h"
@implementation ExampleAppDelegate
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
[NSTimer scheduledTimerWithTimeInterval:5.0
target:self
selector:@selector(closeSplash)
userInfo:nil
repeats:NO];
}
- (IBAction)closeSplashButton:(id)sender {
[self closeSplash];
}
- (void)closeSplash {
[splash orderOut:self];
[window makeKeyAndOrderFront:self];
[NSApp activateIgnoringOtherApps:YES];
}
@end
Run Code Online (Sandbox Code Playgroud)
MainMenu.xib
结果
在启动时,只能看到启动窗口.启动窗口会在10秒后自动关闭.用户可以通过按下按钮直接关闭启动窗口.关闭启动窗口后,主窗口显示出来.
归档时间: |
|
查看次数: |
6904 次 |
最近记录: |