سؤال

أنا جعل تطبيق اختبار ملء الشاشة باستخدام هذا الدليل. وبعد ومع ذلك، أعاني من مشكلة عندما أريد الحصول على إدخال رئيسي.

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

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

المحلول

من الممكن تحقيقه. تأكد من الفضوخي الخاص بك NSPanel(هل هناك سبب لماذا لا تستخدم نافذة؟) -canBecomeKeyWindow, كل من الفريق و contentView-acceptsFirstResponder طرق للعودة صحيح.

نهج آخر منخفض المستوى يمكن أن تحاول إذا كنت تقوم بتصميم تطبيق يستخدم استخدام UI غير قياسي (مثل لعبة)، هو الفئة الفرعية NSApplication'س -sendEvent طريقة. الألغام تبدو وكأنها:

- (void)sendEvent:(NSEvent *)event
{
    id delegate = [self delegate];

    if(([event type] != NSAppKitDefined) && [delegate shouldHandleEvents] && [delegate respondsToSelector:@selector(handleEvent:)])
        [delegate handleEvent:event];
    else
        [super sendEvent:event];    
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top