私はココアでアプリケーションを開発しています。私のアプリケーションは、最初にポップアップ シートを表示します。ポップアップ シートが原因でアプリケーションを終了できないため、ドックのアイコンを右クリックして [終了] を選択してアプリケーションを終了しようとしたときに発生するイベントを知る必要があります。どうすればこれを解決できますか?
8574 次
1 に答える
7
quit
Dock メニューで [Quit] 項目が選択されると、アプリに Apple イベントが送信されます。これを傍受したい場合は、このイベント用のカスタム Apple Event Handler をインストールする必要があります。シートが閉じられるまで、シートがアプリケーションの終了を防止するのは正常であるため、この動作を変更すると、アプリは他のアプリケーションとは異なる動作をすることに注意してください。
quit
アプリケーション デリゲートで Apple Eventsのデフォルト ハンドラをオーバーライドする方法の簡単な例を次に示します。
- (void)applicationDidFinishLaunching:(NSNotification*)notification
{
//install the custom quit event handler
NSAppleEventManager* appleEventManager = [NSAppleEventManager sharedAppleEventManager];
[appleEventManager setEventHandler:self andSelector:@selector(handleQuitEvent:withReplyEvent:) forEventClass:kCoreEventClass andEventID:kAEQuitApplication];
}
//handler for the quit apple event
- (void)handleQuitEvent:(NSAppleEventDescriptor*)event withReplyEvent:(NSAppleEventDescriptor*)replyEvent
{
[self terminate:self];
}
于 2009-11-20T06:41:48.700 に答える