2014-09-18 5 views
5

मैं कुंजीपटल आकार केवल उदाहरण के लिए, प्रणाली कीबोर्ड के साथ काम करता है प्राप्त करने के लिए आईओएस 8.आईओएस 8 में तीसरे पक्ष के कीबोर्ड आकार कैसे प्राप्त करें?</p> <pre><code>- (void)keyboardWillShow:(NSNotification *)notification { CGSize keyboardSize = [[[notification userInfo] objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size; } </code></pre> <p>:

मूल विधि (ऑब्जेक्टिव-सी) के साथ मेरे फोन 5s में स्विफ्ट कीबोर्ड स्थापित किया है अगर मैं स्विफ्ट कीबोर्ड का उपयोग करता हूं ... keyboardSize.height शून्य है। आईओएस 8 में तीसरे पक्ष के कीबोर्ड आकार कैसे प्राप्त करें?

धन्यवाद।

+0

क्या आपको कभी इसके लिए सही समाधान मिल गया है? नीचे दिया गया जवाब मेरे मामले के साथ काम नहीं कर रहा है। मैं पहले से ही केबी रेक्ट प्राप्त करने के लिए 'UIKeyboardFrameEndUserInfoKey' का उपयोग कर रहा हूं। – Hemang

उत्तर

8

मुझे लगता है कि ऐसा इसलिए है क्योंकि कीबोर्ड वास्तव में प्रदर्शित होने से पहले आकार प्राप्त कर रहा है।

के बजाय ऐसे:

objectForKey:UIKeyboardFrameBeginUserInfoKey 

के साथ:

objectForKey:UIKeyboardFrameEndUserInfoKey 

यह SwiftKey साथ मेरे लिए काम कर रहा है!

+3

यह मेरे अपने शोध से मेल खाता है। मैंने स्विफ्टकी को शो पर 3 इवेंट भेजते हुए देखा है, अंत ऊंचाई 0 पर सेट है, फिर कीबोर्ड की ऊंचाई, फिर कुंजीपटल + स्वत: पूर्ण क्षेत्र की ऊंचाई। मेरा कोड अलग-अलग ऊंचाइयों वाली पंक्ति में 3 UIKeyboardWillShowNotification ईवेंट की अपेक्षा नहीं कर रहा था, इसलिए कुछ समायोजन की आवश्यकता थी। – w0mbat

+1

यह मेरे लिए काम नहीं कर रहा है, मैं पहले से ही केबी के आय प्राप्त करने के लिए 'UIKeyboardFrameEndUserInfoKey' का उपयोग कर रहा हूं। कोई अन्य तरीका? – Hemang

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