मेरे पास एक वैश्विक ऐप है जो वर्तमान टेक्स्टफील्ड के बारे में जानकारी वापस रिपोर्ट करता है। मैं इसे सेट अप किया है ताकि हर बार मैं अपने माउस क्लिक करें, मैं चलाएँ:| एनएसएसस्क्रीन मुख्य स्क्रीन | कीबोर्ड/माउस फोकस अन्य मॉनीटर पर जाने पर अपडेट नहीं हो रहा है?
NSLog(@"Screen:%f,%f", [[NSScreen mainScreen] frame].size.width, [[NSScreen mainScreen] frame].size.height);
लेकिन जब मैं एक स्क्रीन पर किसी पाठ फ़ील्ड में कीबोर्ड फ़ोकस कर दिया, तो वह एक ही पाठ फ़ील्ड में माउस (बार-बार) पर क्लिक करें, [[NSScreen mainScreen] frame]
अक्सर गलत स्क्रीन आयामों की रिपोर्ट करता है! यह मुझे अन्य प्रदर्शन के आयाम देता है।
एप्पल डॉक्स कहते हैं:
मुख्य स्क्रीन जरूरी एक ही स्क्रीन है कि मेनू पट्टी शामिल है या में अपने मूल है नहीं है (0, 0)। मुख्य स्क्रीन स्क्रीन को संदर्भित करती है जिसमें विंडो वर्तमान में कीबोर्ड ईवेंट प्राप्त कर रही है। यह मुख्य स्क्रीन है क्योंकि यह वह है जिसके साथ उपयोगकर्ता सबसे अधिक संभावना है।
यह कहता है कि कीबोर्ड फोकस वाला स्क्रीन हमेशा मुख्य स्क्रीन है। मैं इसे कीबोर्ड फोकस और माउस फोकस दे रहा हूं। तो मुझे अन्य स्क्रीन 50% समय क्यों मिल रही है?
क्या यह [एनएसएसस्क्रीन मुख्यस्क्रीन] में एक बग है? क्या मुझे किसी तरह एक पुनर्मूल्यांकन मजबूर करना है? क्या डिस्प्ले के आयाम प्राप्त करने का कोई अन्य तरीका है जिसमें कीबोर्ड फोकस है?
ठीक है, मुझे लगता है कि भी देखा और खिड़की एक बहुत छोटे आकार के लिए नीचे का आकार बदलने और एक स्क्रीन पर पूरी तरह से रख दिया था। अभी भी मुद्दा है। – cksubs
पुष्टि करने के लिए, आप [विंडो स्क्रीन] के परिणाम भी देख सकते हैं। –
क्या आपका मतलब है [WindowIamInteracting स्क्रीन के साथ]? यह एक वैश्विक ऐप है, खिड़की एक अलग ऐप से संबंधित है, इसलिए मुझे नहीं लगता कि मेरे पास यह जानकारी है। अगर आपका मतलब कुछ और है, तो कृपया मुझे बताएं। – cksubs