2010-04-14 11 views
10

Kann jemand die Zahlentastatur im iphone anstatt vom Standard zeigen? Und gibt es eine Möglichkeit, das Textfeld nur nach Zahlen zu filtern? Ich brauche, dass aus dem Code zu tun, nicht von Interface BuilderNumbers Tastatur in Xcode

Dank

+1

Ab 2013 ... setzen Sie ihn einfach, wie Sie in Interface wünschen – Fattie

Antwort

29

Alternativ können Sie die keyboard Eigenschaft Textfeld in Code:

textField.keyboardType = UIKeyboardTypeNumberPad 

Folgende Optionen sind verfügbar:

UIKeyboardType Der Tastaturtyp für wird für eine bestimmte textbasierte Ansicht angezeigt.

typedef enum {
UIKeyboardTypeDefault,
UIKeyboardTypeASCIICapable,
UIKeyboardTypeNumbersAndPunctuation,
UIKeyboardTypeURL,
UIKeyboardTypeNumberPad,
UIKeyboardTypePhonePad,
UIKeyboardTypeNamePhonePad,
UIKeyboardTypeEmailAddress,
UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable}UIKeyboardTyp;

Ein Wort der Vorsicht, aber das NumberPad hat keinen Dezimalpunkt für die Eingabe. Wenn Sie das brauchen, müssen Sie etwas anderes verwenden.

+0

Welchen empfehlen Sie für die Dezimalpunkteingabe? – thary

+3

UIKeyboardTypeNumbersAndPunctuation klingt gut für mich. –

+0

danke Kumpel das war schnell! – thary

2

Stellen Sie die keyboardType Eigenschaft des Eingabefeldes numerisch, entweder im Interface Builder sein oder über Code.

So etwas wie dies funktionieren sollte:

textField.keyboardType = UIKeyboardTypeNumberPad; 

Für alle möglichen Tastaturtypen siehe the Apple docs

+0

Gibt es eine Möglichkeit von Code, das zu tun? – thary

+0

@ Jeff Kelley der Code wurde hinzugefügt, nachdem Tharys Kommentar gemacht wurde. –

1

zu Kristopher Johnson Antwort hinzuzufügen, unterstützt UITextField das UITextInputTraits-Protokoll, das keyboardType eine UIKeyboardType@property genannt hat. Sie stellen das einfach so ein, wie Sie wollen (in Ihrem Fall UIKeyboardTypeNumberPad). Ein Platz, um dies in Ihrem Code zu setzen, ist in der viewDidLoad Methode Ihres View-Controllers.

textField.keyboardType = UIKeyboardTypeNumberPad; 
9

Es gibt jetzt eine Tastatur mit einer Dezimalzahl, Sie können den folgenden Code verwenden.

textField.keyboardType = UIKeyboardTypeDecimalPad;

0

Für Swift2

keyboard wartet ein UIKeyboardType

Enum UIKeyboardType: Int {
Fall Standard
Fall ASCIICapable
Fall Num bersAndPunctuation
Fall URL
Fall NumberPad
Fall Phonepad
Fall NamePhonePad
Fall Emailaddress
Fall DecimalPad
Fall Twitter
Fall WebSearch
static var Alphabet: UIKeyboardType {get}
}

So sollte es etwas sein wie folgt aus:

textField.keyboardType = UIKeyboardType.NumbersAndPunctuation 

Apple Documentation - UIKeyboardType

Verwandte Themen