2009-12-23 11 views
5

मैं एक छवि पिकर कि चयन बटन के एन ग्रिड से एक n जब पिकर ऊपर पॉप है प्रदर्शित करेगा बनाने रहा हूँ। बटनों का यह ग्रिड एनएसविंडो के भीतर निहित होगा, लेकिन यदि उपयोगकर्ता स्क्रीन से क्लिक करता है तो मैं विंडो को स्वचालित रूप से बंद करना चाहता हूं। क्या कोई ध्वज सेट किया जा सकता है ताकि जब खिड़की फोकस हो जाए तो यह स्वचालित रूप से बंद हो जाएगा?प्रोग्राम एक NSWindow बंद करने जब यह ध्यान केंद्रित खो देता है

उत्तर

8

ऐसी दो सूचनाएं हैं जिनमें आपको रुचि हो सकती है: NSWindowDidResignKeyNotification और NSWindowDidResignMainNotification। आप केवल उस व्यक्ति के लिए पंजीकरण कर सकते हैं जिसमें आप रुचि रखते हैं FromNib (या यदि आपके पास कस्टम नियंत्रक है तो विंडोडिडलोड करें) और फिर सूचनाएं प्राप्त करते समय विंडो को बंद या छुपाएं।

मैं या नहीं, इस यूआई दृष्टि से एक अच्छा विचार है में बहुत ज्यादा तल्लीन नहीं होंगे। लेकिन, आपके द्वारा वर्णित कार्यक्षमता के लिए ओवरले व्यू या पैनल होना बेहतर विचार हो सकता है।

3

आप NSPanel की जाँच हो सकता है। यह एक एनएसविंडो सबक्लास है जो ऐप पृष्ठभूमि में होने पर खुद को छुपाएगा, और यह व्यवहार आप जो खोज रहे हैं उसके समान ही लगता है।

+0

प्रश्न खिड़की को बंद करने के बारे में है जब ** विंडो ** ध्यान केंद्रित करता है, हालांकि। 'एनएसपीनेल 'छुपाता है जब ** ऐप ** फोकस खो देता है। – Jay

संबंधित मुद्दे