2012-06-19 7 views
8

पर आधारित UIKeyboardType बदलें मैं उपयोगकर्ता को एक स्पेस टाइप करते समय UIKeyboardType को वर्णमाला कीबोर्ड में बदलने की कोशिश कर रहा हूं, एक एस्ट्रोफ़े टाइप करने के प्रभाव को प्रतिबिंबित करता हूं। हालांकि, मेरा कोड कुंजीपटल उपस्थिति को तब तक नहीं बदलेगा जब तक उपयोगकर्ता कीबोर्ड को खारिज नहीं कर लेता है और फिर उसे वापस लाता है।टेक्स्ट इनपुट

संपादित करें: स्पष्टीकरण के लिए, कीबोर्ड प्रकार UIKeyboardTypeNumbersAndPunctuation के रूप में शुरू होता है और मैं ASCIICapable में बदलना चाहता हूं, क्योंकि सामान्य उपयोगकर्ता इनपुट "# कप आटा" के रूप में होता है। मुझे एहसास हुआ कि ASCIICapable कीबोर्ड में यह कार्यक्षमता अंतर्निहित है, इसलिए एएससीआईआई सक्षम कीबोर्ड प्रस्तुत करना लेकिन पहले संख्या/विराम चिह्न दिखाना पहले काम करेगा।

- (BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 
{ 

    if ([string isEqualToString:@" "]) { 
     textField.keyboardType = UIKeyboardTypeASCIICapable; 
    } 

return YES; 
} 

उत्तर

10

कीबोर्ड ख़ारिज और फिर पहली प्रत्युत्तर बन फिर से:

यहाँ मेरी कोड है। मेरे कोड में, मैंने टेक्स्टफील्ड * टीएफ के लिए आईबीओलेट बनाया। इसने काम कर दिया।

- (BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 
{ 

    if ([string isEqualToString:@" "]) { 
     self.tf.keyboardType = UIKeyboardTypeNumberPad; 
     [textField resignFirstResponder]; 
     [self.tf becomeFirstResponder]; 
    } 

    return YES; 
} 
+0

पूरी तरह से काम किया, मुझे इसके बारे में सोचना चाहिए था। धन्यवाद ब्रूनो। – MaxGabriel