Geçerli metin alanı hakkında bilgi bildiren global bir uygulamam var. Bunu kurdunuz yüzden benim fare tıklaması her zaman, çalıştırın:| NSScreen mainScreen | klavye/fare odağı diğer monitöre giderken güncellenmiyor mu?
NSLog(@"Screen:%f,%f", [[NSScreen mainScreen] frame].size.width, [[NSScreen mainScreen] frame].size.height);
Ama bir ekranda bir yazı bölümünde klavye odağı koyduğunuzda, ardından aynı yazı bölümünde fare (arka arkaya) tıklayın [[NSScreen mainScreen] frame]
genellikle yanlış ekran boyutlarını bildiriyor! Bana diğer ekranın boyutlarını veriyor.
Elma dokümanlar ki:
ana ekran mutlaka menü çubuğunu içeren veya en aslına vardır aynı ekran değil (0, 0). Ana ekran, şu anda klavye olaylarını alan pencereyi içeren ekranını ifade eder. Ana ekran bu, çünkü kullanıcısının büyük olasılıkla etkileşim kurduğu tek şey.
Bu, klavye odağı ekranının her zaman ana ekran olduğunu belirtir. Klavye odaklama ve fare odağı veriyorum. O zaman neden% 50 oranında diğer ekranını alıyorum?
Bu bir hata [NSScreen mainScreen] içinde mi? Bir şekilde yeniden hesaplama yapmak zorunda mıyım? Ekranın klavye odağı boyutlarını almanın başka bir yolu var mı?
Doğru, ben de fark ettim ve aşağı çok küçük bir boyuta pencereyi yeniden boyutlandırmak ve bir ekranda tamamen koydu yaptı. Hala sorun var. – cksubs
Onaylamak için, [window screen] sonucunu da kontrol edebilirsiniz. –
[TheWindowIamInteractingWith screen] kastediyor musunuz? Bu küresel bir uygulama, pencere farklı bir uygulamaya ait, bu yüzden bu bilgiye sahip olduğumu düşünmüyorum. Başka bir şey ifade ederseniz, lütfen bana bildirin. – cksubs