मैं एक कस्टम NSWindow वर्ग निम्न विधियों है कि राशि खो देता है:NSWindow किसी भी सूचना प्राप्त नहीं हो रही है जब यह ध्यान केंद्रित
- (void)setupWindowForEvents{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowDidResignKey:) name:NSWindowDidResignMainNotification object:self];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowDidResignKey:) name:NSWindowDidResignKeyNotification object:self];
}
-(void)windowDidResignKey:(NSNotification *)note {
NSLog(@"notification");
[self close];
}
मैं [_window setupWindowForEvents];
फोन लेकिन windowDidResignKey
कभी नहीं कहा जाता हो जाता है।
यह कैसे मैं अपने NSWindow कहते हैं: जब स्थिति पट्टी आइटम क्लिक किया जाता है मैं makeKeyAndOrderFront
और खिड़की इस तरह, सही स्थिति पट्टी आइटम के नीचे प्रदर्शित होता है:
कोई भी विचार कारण है कि मैं किसी भी सूचना नहीं मिलता है जब खिड़की फोकस खो देता है? मैंने यह देखने के लिए NSWindowDidResignMainNotification
और NSWindowDidResignKeyNotification
दोनों का उपयोग किया है, लेकिन इनमें से कोई भी काम नहीं कर रहा है।
आप बहुत बहुत धन्यवाद, पूरी तरह से उस के बारे में भूल गया था। बीटीडब्ल्यू, क्या आप मुझे 'NSWindowDidResignMainNotification' और 'NSWindowDidResignKeyNotification' अधिसूचनाओं के बीच अंतर बता सकते हैं? –
अच्छा सवाल। मुख्य विंडो वे हैं जिनके पास वर्तमान में पहली प्रतिक्रियाकर्ता स्थिति है और उपयोगकर्ता इनपुट का जवाब है। मुख्य खिड़कियां सिर्फ प्रमुख खिड़कियों की तरह हैं, सिवाय इसके कि उन्हें जरूरी नहीं कि पहले उत्तरदाता की स्थिति हो। दोनों राज्य केंद्रित दिखाई देते हैं। यह आपके लिए उपयोग किया जा सकता है: https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/WinPanel/Concepts/ChangingMainKeyWindow.html –