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)