2012-08-24 15 views
6

जब मैं एक्सकोड से अपने ओएस एक्स ऐप को फायर करता हूं, ऐसा लगता है कि ऐसा होना चाहिए।विंडो बंद होने के बाद पुनर्स्थापित नहीं होगी

जब मैं खिड़की बंद करता हूं, तो यह गायब हो जाता है (जैसा कि आप उम्मीद करेंगे), और ऐप अभी भी डॉक पर सक्रिय दिखाई देता है।

बढ़िया, इस तरह यह होना चाहिए। लेकिन जब मैं खिड़की को सक्रिय करने के लिए डॉक पर क्लिक करता हूं, तो यह दिखाई नहीं देता है।

कोई विचार?

+0

आप यह कैसे बंद कर रहे हैं

कि प्राप्त करने के लिए, आप applicationShouldHandleReopen:hasVisibleWindows: इस प्रकार लागू कर सकते हैं? छिपाने या कम करने के लिए ऐप छोड़ना? – ekims

उत्तर

21

इस प्रश्न में ज्यादा जानकारी नहीं है, लेकिन मुझे लगता है कि ऐप एक सिंगल-विंडो ऐप है (यानी NSDocument-आधारित नहीं)।

इस परिदृश्य में एक सामान्य स्थिति यह है कि उपयोगकर्ता खिड़की को बंद कर देता है, और डॉक में आइकन के साथ तालमेल चल रहा है जैसा कि माना जाता है।

उस स्थिति में, उपयोगकर्ता सामान्य रूप से विंडो को फिर से दिखाना पसंद करेंगे जब ऐप को डॉक में आइकन पर क्लिक करके सक्रिय किया जाता है।

- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)visibleWindows 
{ 
    if (visibleWindows) { 
     [self.window orderFront:self]; 
    } 
    else { 
     [self.window makeKeyAndOrderFront:self]; 
    } 

    return YES; 
} 
+0

प्रश्न में जानकारी की कमी के लिए खेद है .. यह एक कोशिश करेगा और आपको बताएगा .. चीयर्स – theiOSDude

+1

सिर्फ टिकट धन्यवाद @ मोनोलो - 'रिलीज होने पर रिलीज' विकल्प को याद रखना आईबी में अनचाहे विकल्प है और क्रैश कॉलिंग का कारण बन जाएगा 'makeKeyAndOrderFront' – theiOSDude

3
तेजी के लिए

:

func applicationShouldHandleReopen(sender: NSApplication, hasVisibleWindows flag: Bool) -> Bool { 
    if let window = sender.windows.first { 
     if flag { 
      window.orderFront(nil) 
     } else { 
      window.makeKeyAndOrderFront(nil) 
     } 
    } 

    return true 
} 
संबंधित मुद्दे