2010-04-08 10 views
17

UIKeyboardTypeNumberPad आईपैड पर एक संख्या पैड प्रदर्शित नहीं करता है। इसके बजाए, यह UIKeyboardTypeNumbersAndPunctuation कीबोर्ड दिखाता है।UIKeyboardTypeNumberPad - आईपैड पर सिर्फ numbes दिखाओ?

क्या मुझे कुछ याद आ रही है, या इसे आईपैड ओएस से हटा दिया गया है?

आपके मार्गदर्शन के लिए धन्यवाद!

+1

जोड़ने ऐसा नहीं है कि नहीं है इसे हटा दिया गया था, बल्कि यह कि पहले कभी नहीं था। ऐसा करने के लिए आपको अपना खुद का कीबोर्ड बनाना होगा। देखें: [मैं आईओएस ऐप पर एक कस्टम कीबोर्ड से कीस्ट्रोक कैसे प्राप्त करूं?] (Http://stackoverflow.com/a/13351686/937822) – lnafziger

उत्तर

13

मुझे विश्वास है कि यह वर्तमान में आईपैड

पर iPhoneOS 3.2 में समर्थित नहीं है के शब्दों में UITextInputTraits हेडर फाइल:

// 
// UIKeyboardType 
// 
// Requests that a particular keyboard type be displayed when a text widget 
// becomes first responder. 
// Note: Some keyboard/input methods types may not support every variant. 
// In such cases, the input method will make a best effort to find a close 
// match to the requested type (e.g. displaying UIKeyboardTypeNumbersAndPunctuation 
// type if UIKeyboardTypeNumberPad is not supported). 
// 
+1

लेकिन मैंने इसे पॉपअप के भीतर आईपैड पर देखा है। उन्होंने यह कैसे किया? – David

+3

वे शायद इसे स्वयं लागू कर सकते हैं। – ceejayoz

2

मैं इस सवाल का पता काफी देर के लिए निष्क्रिय कर दिया गया है, लेकिन इस वहां किसी की मदद कर सकता है।

आप इसे https://github.com/azu/NumericKeypad लागू करने का प्रयास कर सकते हैं। सांकेतिक शब्दों में बदलनेवाला अपने ही संख्या पैड UITextField

+0

धन्यवाद, यह अच्छा है – Justin

8

उपवर्गीकरण अपने हेडर फाइल में UITextFieldDelegate जोड़ने खरीदने (ज फ़ाइल) लागू किया

txtfield_name.keyboardType=UIKeyboardTypeNumbersAndPunctuation; 
txtfield_name.delegate=self; 

तो इस विधि

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

NSString *validRegEx [email protected]"^[0-9]*$"; //change this regular expression as your requirement 
NSPredicate *regExPredicate =[NSPredicate predicateWithFormat:@"SELF MATCHES %@", validRegEx]; 
BOOL myStringMatchesRegEx = [regExPredicate evaluateWithObject:string]; 
if (myStringMatchesRegEx) 
     return YES; 
else 
     return NO; 
} 
+1

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

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