18 Stimmen

UIKeyboardTypeNumberPad - Nur Ziffern auf dem iPad anzeigen?

UIKeyboardTypeNumberPad zeigt auf dem iPad keinen Nummernblock an. Stattdessen zeigt es die Tastatur UIKeyboardTypeNumbersAndPunctuation an.

Übersehe ich da etwas, oder wurde diese Funktion aus dem iPad OS entfernt?

Vielen Dank für Ihre Beratung!

14voto

Dustin Howett Punkte 1625

Ich glaube, dass dies derzeit in iPhoneOS 3.2 auf dem iPad nicht unterstützt wird.

Um die UITextInputTraits-Header-Datei zu zitieren:

//
// 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).
//

8voto

Hector Punkte 3909

Hinzufügen. UITextFieldDelegate in Ihrer Header-Datei (.h-Datei)

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

dann diese Methode hinzufügen

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

 NSString *validRegEx =@"^[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;
}

2voto

acecapades Punkte 893

Ich weiß, dass diese Frage schon eine ganze Weile inaktiv ist, aber vielleicht hilft das jemandem da draußen.

Sie können versuchen, dies zu implementieren https://github.com/azu/NumericKeypad . Der Programmierer implementierte seinen eigenen Nummernblock, indem er die Unterklasse UITextField

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X