سؤال

أقوم بتطوير تطبيق في Cocoa. يعرض تطبيقي ورقة منبثقة في البداية. الآن أحتاج إلى معرفة الحدث الذي يتم إطلاقه عندما نحاول الخروج من التطبيق بالنقر بزر الماوس الأيمن على "الخروج" على الأيقونة في قفص الاتهام ، لأنني لا أستطيع الخروج من الحوادث بسبب ورقة المنبثقة .. تطلع لحل

هل كانت مفيدة؟

المحلول

تم إرسال تطبيقك quit حدث Apple عند تحديد عنصر الإقلاع في قائمة Dock. إذا كنت ترغب في اعتراض هذا ، فستحتاج إلى تثبيت معالج حدث Apple مخصص لهذا الحدث. لاحظ أنه من الطبيعي أن تمنع الأوراق إنهاء التطبيق حتى يتم رفض الورقة ، لذلك إذا قمت بتغيير هذا السلوك ، فسيعمل تطبيقك بشكل مختلف على التطبيقات الأخرى.

فيما يلي مثال بسيط على كيفية تجاوز المعالج الافتراضي لـ quit أحداث Apple في مندوب التطبيق الخاص بك:

- (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];
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top