Цифровая клавиатура в Xcode - PullRequest
10 голосов
/ 14 апреля 2010

Кто-нибудь знает, как отображать цифровую клавиатуру в iphone, а не по умолчанию? И есть ли способ отфильтровать текстовое поле только для чисел? Мне нужно сделать это из кода, а не из конструктора интерфейса

Спасибо

Ответы [ 5 ]

29 голосов
/ 14 апреля 2010

альтернативно, установите свойство клавиатурыType текстового поля в коде:

textField.keyboardType = UIKeyboardTypeNumberPad

Доступные опции:

UIKeyboardType Тип клавиатуры для отображение для данного текстового представления.

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

Однако, предостережение: у NumberPad нет десятичной точки для ввода. Если вам это нужно, вам придется использовать что-то еще.

9 голосов
/ 13 декабря 2012

Теперь есть клавиатура с десятичной дробью, вы можете использовать следующий код.

textField.keyboardType = UIKeyboardTypeDecimalPad;

2 голосов
/ 14 апреля 2010

Установите свойство keyboardType поля ввода как числовое, либо в Интерфейсном Разработчике, либо с помощью кода.

Как-то так должно работать:

textField.keyboardType = UIKeyboardTypeNumberPad;

Для всех возможных типов клавиатуры см. документы Apple

1 голос
/ 14 апреля 2010

Чтобы добавить ответ Кристофера Джонсона, UITextField поддерживает протокол UITextInputTraits, который имеет UIKeyboardType @property, называемый keyboardType. Вы просто устанавливаете это как хотите (в вашем случае, UIKeyboardTypeNumberPad). Единственное место, где можно поместить это в ваш код, - это метод viewDidLoad вашего контроллера представления.

textField.keyboardType = UIKeyboardTypeNumberPad;
0 голосов
/ 12 мая 2016

Для Swift2

клавиатураType ожидает UIKeyboardType

enum UIKeyboardType: Int {
case По умолчанию
case ASCIICapable
case NumbersAndPunctuation
case case
чехол NumberPad
чехол PhonePad
чехол NamePhonePad
case EmailAddress
case DecimalPad
кейс твиттер
кейс WebSearch
static var Alphabet: UIKeyboardType {get}
}

Так должно быть что-то вроде этого:

textField.keyboardType = UIKeyboardType.NumbersAndPunctuation

Документация Apple - UIKeyboardType

...