2015-05-23 4 views
7

में मानक कीबोर्ड के लिए कस्टम इनपुट देखें स्वैप करें मेरे पास एक विशेष टेक्स्टफील्ड के लिए कस्टम इनपुट व्यू है, और यह अच्छी तरह से काम करता है। हालांकि, मैं यह नहीं समझ सकता कि दृश्य को कैसे खारिज करना है और नियमित कीबोर्ड वापस प्राप्त करना है। (मेरे पास टेक्स्टफ़िल्ल्ड के बगल में एक स्वैप बटन है।) मैंने टेक्स्टफील्ड के इनपुट व्यू को शून्य करने की कोशिश की, लेकिन उसने कुछ भी नहीं किया।आईओएस

मुझे एक पूर्ण कस्टम कीबोर्ड की आवश्यकता नहीं है, लेकिन मुझे कीबोर्ड के ऊपर एक एक्सेसरी दृश्य से अधिक की आवश्यकता है, इसलिए मैं इस मार्ग का प्रयास कर रहा हूं। मुझे नियमित कीबोर्ड के अलावा लगभग 20 कस्टम बटन चाहिए, और मुझे बहुत अधिक जगह लेने वाले विशाल एक्सेसरी दृश्य के विचार पसंद नहीं हैं।

मैं ऐप का उपयोग करने में सक्षम होने से पहले उपयोगकर्ता को प्रारंभिक रूप से एक पूर्ण कस्टम कीबोर्ड स्थापित करने की आवश्यकता नहीं होगी।

किसी भी सुझाव के लिए आपको बहुत बहुत धन्यवाद।

उत्तर

9

मुझे लगता है कि आप शायद यह करने के लिए करना होगा:

  1. UITextField
  2. एनीमेशन समाप्त होने के बाद पर कॉल resignFirstResponder, पाठ क्षेत्र पर अपने inputViewnil
  3. के लिए कॉल becomeFirstResponder सेट

कीबोर्ड एनीमेशन अवधि userInfo डिक्शनरी में भेजी जाती है कुंजी प्रस्तुति अधिसूचनाओं पर वाई।

+0

बहुत बहुत धन्यवाद! यह अधिसूचना को पकड़ना आसान साबित हुआ ताकि उपयोगकर्ता कीबोर्ड पर कस्टम इनपुट और कस्टम इनपुट को स्वैप कर सकें। उत्तम! –

4

स्वीकार किए जाते हैं जवाब है, आप reloadInputViews() उपयोग कर सकते हैं के अलावा (और यह कम resignFirstResponder से होने वाले एनीमेशन खामियों पीड़ित होने की संभावना है, becomeFirstResponder कॉल):

  1. yourTextField.inputView = nil;
  2. yourTextField.reloadInputViews();

यहां Apple's Docs में और जानकारी है।