我正在 Xcode 中开发一个 Cocoa 应用程序。
我想使用 .png 文件作为启动画面中的图像内容来创建启动画面。
我已经完成了以下工作:
- 启动应用程序时,启动画面显示 2 秒
- 启动画面显示在屏幕中央
- 用户无法最小化、移动或调整初始屏幕的大小
从我的班级:
IBOutlet NSView *customView;
IBOutlet NSImageView *splashScreen;
IBOutlet NSWindow *splashWindow;
这是我到目前为止在 awakeFromNib 中所拥有的
NSRect rect = NSMakeRect(0,0,421,231);
splashScreen = [[NSImageView alloc] initWithFrame:rect];
[splashScreen setImageScaling:NSScaleToFit];
[splashScreen setImage:[NSImage imageNamed:@"splash.png"]];
[customView addSubview:splashScreen];
CGFloat xPos = NSWidth([[splashWindow screen] frame])/2 - NSWidth([splashWindow frame])/2;
CGFloat yPos = NSHeight([[splashWindow screen] frame])/2 - NSHeight([splashWindow frame])/2;
[splashWindow setFrame:NSMakeRect(xPos, yPos, NSWidth([splashWindow frame]), NSHeight([splashWindow frame])) display:YES];
然后在 applicationDidFinishLaunching 中:
sleep(2); /* Yeah. I know this is bad. No need to comment on that */
[splashWindow close];
问题:
如何将启动图像放在桌面上每个打开的窗口的前面?
PNG 是一个矩形,但图像角落附近的小区域应该是透明的。但是......透明点只显示为白色......我该如何解决?
如果用户在图像自动关闭之前单击图像,如何实现图像关闭的功能?
如何设置计时器以在 2-3 秒后关闭窗口?(NSTimer)