Подтвердить что ты не робот

Как изменить тип клавиатуры UITextField для отправки по электронной почте в Swift

В objective-c могу сказать следующее.

[self.promoTextField setKeyboardType:UIKeyboardTypeEmailAddress];

Я пробовал искать его, но просто получаю способы сделать это в objective-c.

4b9b3361

Ответ 1

Попробуйте следующее:

Swift 3

self.promoTextField.keyboardType = UIKeyboardType.emailAddress

Swift < 3

self.promoTextField.keyboardType = UIKeyboardType.emailAddress

Ответ 2

Документация о UITextInputTraits, протоколе, принятом UITextField, говорит, что он все еще здесь:

optional var keyboardType: UIKeyboardType { get set }

И список всех keyboardType здесь:

enum UIKeyboardType : Int {
    case Default
    case ASCIICapable
    case NumbersAndPunctuation
    case URL
    case NumberPad
    case PhonePad
    case NamePhonePad
    case EmailAddress
    case DecimalPad
    case Twitter
    case WebSearch
}

Ответ 3

В Swift 3 вы можете использовать:

youremailfieldname.keyboardType = UIKeyboardType.emailAddress

Обратите внимание на lowercase в emailAddress

Примечание: также, что вы можете назначить тип клавиатуры в TextField определение в раскадровке.

enter image description here

Ответ 4

Попробуйте в Swift 3:

let emailTextField: UITextField = {
    let text = UITextField()
    text.keyboardType = .emailAddress

    return text
}()

Ответ 5

Вы должны просто установить тип записи в TextField, который вы хотите изменить. например,

self.yourlTextField.keyboardType = .emailAddress //shows keyboard with e-mail characters

self.yourTextField.keyboardType = .phonePad ////shows phone pad only..just numbers