2
我正在開發一個可可應用程序。我的應用程序最初顯示了一個彈出窗口。現在我需要知道哪個事件被激發,當我們嘗試退出應用程序時,右鍵單擊並選擇「退出」在碼頭上,因爲我不能退出應用程序,因爲彈出式頁面..正在尋找解決方案應用程序退出事件
我正在開發一個可可應用程序。我的應用程序最初顯示了一個彈出窗口。現在我需要知道哪個事件被激發,當我們嘗試退出應用程序時,右鍵單擊並選擇「退出」在碼頭上,因爲我不能退出應用程序,因爲彈出式頁面..正在尋找解決方案應用程序退出事件
當您在Dock菜單中選擇退出項目時,您的應用程序會發送一個quit
Apple事件。如果你想攔截這個,你需要爲這個事件安裝一個自定義的Apple Event Handler。請注意,在表單被解除之前阻止應用程序終止是正常的,因此如果更改此行爲,您的應用程序將以與其他應用程序不同的方式工作。
下面是如何覆蓋quit
蘋果事件的默認處理程序在你的應用程序委託一個簡單的例子:
- (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];
}
太感謝你了...... – MobX 2009-11-20 07:10:09