2010-04-30 12 views
16

मुझे एप्पल दस्तावेज में आईफोन की कीबोर्ड सीमाएं मिली हैं, लेकिन मुझे आईपैड की कीबोर्ड सीमाएं नहीं मिल रही हैं। कृपया आप मेरी मदद कर सकते हैं?आईपैड कीबोर्ड आयाम

उत्तर

8

मुझे अभी यह पता चला है कि किसी और को इसकी आवश्यकता है।
Keyboard Notification User Info Keys

+0

आपको आगे बढ़ना चाहिए और अपना जवाब स्वीकार करना चाहिए। –

+0

ठीक है, बहुत बहुत धन्यवाद! परिदृश्य में आईफोन के लिए –

18

iPhone के लिए चित्र 216 पिक्सल में, परिदृश्य 162 पिक्सल, चित्र में iPad के लिए यह 264 पिक्सल और परिदृश्य में 352 पिक्सल है। यह 2010 में यूएस कीबोर्ड के लिए मान्य है।

ये आकार अन्य भाषाओं के लिए अलग-अलग हो सकते हैं, और अमेरिका के लिए भी बदल सकते हैं।

+0

116 का उपयोग करें। 162 अभी भी बड़ा था। – tallen11

+9

आपको इन मापों पर भरोसा नहीं करना चाहिए। विभिन्न भाषाएं विभिन्न कीबोर्ड आकारों का उपयोग करती हैं। आईओएस के भविष्य के संस्करणों में भी यूएस अंग्रेज़ी कीबोर्ड का आकार बदल सकता है। आपको हमेशा कीबोर्ड के आकार को प्रोग्रामेटिक रूप से पूछना चाहिए: कैसे @ इन्फिनिटी का जवाब देखें। – titaniumdecoy

+3

-1 क्या मुझे वास्तव में व्याख्या करने की आवश्यकता है क्यों? –

60

कोड में पूरा उत्तर इस तरह दिखता है। सबसे पहले आप सूचनाओं के लिए रजिस्टर करने की आवश्यकता:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil]; 

और अधिक here हैं। ध्यान दें कि आपको उनसे छुटकारा पाने की भी आवश्यकता होगी (removeObserver का उपयोग करें)।

फिर आपको उस विधि की आवश्यकता है जो आकार प्राप्त करने के लिए अधिसूचना प्राप्त करे। ध्यान दें कि आकार पहले, घुमाया नहीं गया है (क्योंकि UIWindow घूमता नहीं है। इसकी सामग्री करता है)।

- (void) keyboardDidShow:(NSNotification*)notification { 
     CGRect keyboardFrame = [[[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue]; 
     NSLog(@"keyboard frame raw %@", NSStringFromCGRect(keyboardFrame)); 

     UIWindow *window = [[[UIApplication sharedApplication] windows]objectAtIndex:0]; 
     UIView *mainSubviewOfWindow = window.rootViewController.view; 
     CGRect keyboardFrameConverted = [mainSubviewOfWindow convertRect:keyboardFrame fromView:window]; 
     NSLog(@"keyboard frame converted %@", NSStringFromCGRect(keyboardFrameConverted)); 
} 

जाहिर है, अगर आप किसी और तरीके से अपने mainSubviewOfWindow के लिए एक संदर्भ है, यह उपयोग करें।

+0

हाँ, कोड के लिए धन्यवाद, मैं इसे लिखने के लिए आलसी था ... :) –

+0

निश्चित बात @ इन्फिनिटी, मदद करने में खुशी हुई। –

+2

वाह, धन्यवाद @ यार! यह वही था जो मुझे चाहिए और मुझे बहुत दिल का दर्द बचाया। – ragamufin

11

कृपया ध्यान दें कि उपयोगकर्ता का उपयोग करने के आईपैड पर "विभाजन" कुंजीपटल, चुनते हैं तो UIKeyboardDidShowNotification/* UIKeyboardDidHideNotification * सूचनाएं सक्रिय नहीं होगा। इसके बजाए, UIKeyboardDidChangeFrameNotification अधिसूचना को शो और छुपा दोनों पर निकाल दिया जाएगा। वास्तव में क्या होता है (दिखाएं या छुपाएं) यह जानने के लिए आपको कीबोर्डफ्रेम.ऑरिगिन.ई का विश्लेषण करना होगा।

+0

5. धन्यवाद! :) –

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