UIKit टेक्स्ट इनपुट घटक, जैसे UITextView
और UITextField
में कस्टम कीबोर्ड जोड़ने के लिए inputView
संपत्ति है। मेरे पास दो प्रश्न हैं जो मुझसे संबंधित हैं।एनिमेटिंग UITextInput के textInputView
तो कुंजीपटल वर्तमान में दृश्यमान है और संपत्ति के लिए एक नया इनपुट दृश्य के लिए सेट है, कुछ नहीं होता। पहली प्रतिक्रियाकर्ता स्थिति को इस्तीफा देना और प्राप्त करना इनपुट को रीफ्रेश करता है और नया दृश्य प्रदर्शित करता है। क्या यह करने का सबसे अच्छा तरीका है? यदि ऐसा है तो यह मेरे बड़े प्रश्न का उत्तर दे सकता है:
क्या दो इनपुट दृश्यों के बीच संक्रमण को एनिमेट करना संभव है?
'textInputView' संपत्ति केवल पढ़ने के लिए। इसे बदला नहीं जा सकता है। जब एक फ़ील्ड से दूसरे फ़ील्ड में फ़ोकस बदलते हैं, तो आप 'UITextInput' आधारित ऑब्जेक्ट के एक नए नए उदाहरण से निपट रहे हैं। – rmaddy
उप-वर्ग संपत्ति को ओवरराइड कर सकते हैं ताकि इसे लिखने योग्य बनाया जा सके। UITextField.h से: @property (readwrite, retain) UIView * inputView; 'इसे स्विच करना ठीक काम करता है, यह अगली बार जब इनपुट पहले उत्तरदाता बन जाता है तब तक दृश्य पदानुक्रम को अपडेट नहीं करता है। –
आप 'UITextField inputView' और 'UITextInput textInputView' को भ्रमित कर रहे हैं। ये एक ही चीज नहीं हैं। लेकिन आप सही हैं कि 'UITextField' और' UITextView' की 'inputView' प्रॉपर्टी को बदलना प्रभावित नहीं होता है यदि फ़ील्ड/व्यू पहले से ही पहला प्रतिसादकर्ता है। – rmaddy