2010-04-14 9 views
10

Czy ktoś wie, jak wyświetlić klawiaturę liczb w iPhonie, a nie w domyślnej? I czy istnieje sposób filtrowania pola tekstowego tylko dla liczb? Muszę to zrobić z kodem nie z interfejsu konstruktoraKlawiatura numeryczna w Xcode

Dzięki

+1

Od 2013 ... po prostu ustawić go jak chcesz w InterfaceBuilder – Fattie

Odpowiedz

29

alternatywnie, ustawić właściwość keyboardType pole tekstowe w kodzie:

textField.keyboardType = UIKeyboardTypeNumberPad 

Dostępne są następujące opcje:

UIKeyboardType Typ klawiatury do wyświetlania dla danego widoku tekstowego.

typedef wyliczenia {
UIKeyboardTypeDefault,
UIKeyboardTypeASCIICapable,
UIKeyboardTypeNumbersAndPunctuation,
UIKeyboardTypeURL,
UIKeyboardTypeNumberPad,
UIKeyboardTypePhonePad,
UIKeyboardTypeNamePhonePad,
UIKeyboardTypeEmailAddress,
UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable} UIKeyboardType;

Słowo ostrożnie, ale NumberPad nie ma miejsca po przecinku. Jeśli potrzebujesz, będziesz musiał użyć czegoś innego.

+0

który z nich zaleca się do wprowadzania kropek dziesiętnych? – thary

+3

UIKeyboardTypeNumbersAndPunctuation brzmi dobrze dla mnie. –

+0

dzięki kumplowi, który był szybki! – thary

2

Ustaw właściwość pola wprowadzania keyboardType być numeryczne, albo w konstruktorze Interface lub poprzez kod.

Coś jak to powinno działać:

textField.keyboardType = UIKeyboardTypeNumberPad; 

dla wszystkich możliwych typów klawiatury zobaczyć the Apple docs

+0

Czy istnieje sposób, aby to zrobić z kodu? – thary

+0

@Jeff Kelley kod został dodany po tym, jak komentarz został wprowadzony. –

1

Aby dodać odpowiedź Kristopher Johnson, UITextField obsługuje protokół UITextInputTraits, która ma UIKeyboardType@property nazwie keyboardType. Po prostu ustawiasz to, co chcesz (w twoim przypadku, UIKeyboardTypeNumberPad). Jednym z miejsc do umieszczenia tego w kodzie jest metoda viewDidLoad kontrolera widoku.

textField.keyboardType = UIKeyboardTypeNumberPad; 
9

Teraz jest klawiatura zawierająca dziesiętne, można użyć następującego kodu.

textField.keyboardType = UIKeyboardTypeDecimalPad;

0

Dla Swift2

keyboardType jest czeka UIKeyboardType

enum UIKeyboardType: int {
przypadek domyślny
przypadek ASCIICapable
przypadek Num bersAndPunctuation
przypadek URL
przypadek NumberPad
przypadek Klawiatura telefonu
przypadek NamePhonePad
przypadek EmailAddress
przypadek DecimalPad
przypadek Twitter
przypadek WebSearch
static var alfabetu: UIKeyboardType {get}
}

To powinno być coś tak:

textField.keyboardType = UIKeyboardType.NumbersAndPunctuation 

Apple Documentation - UIKeyboardType