Стоит отметить, что если вы хотите, чтобы текущее поле в настоящий момент обновляло тип клавиатуры, есть еще один шаг:
// textField is set to a UIKeyboardType other than UIKeyboardTypeEmailAddress
[textField setKeyboardType:UIKeyboardTypeEmailAddress];
[textField reloadInputViews];
Без вызова reloadInputViews
клавиатура не изменится, пока выбранное поле ( первый респондент ) не потеряет и не восстановит фокус.
Полный список UIKeyboardType
значений можно найти здесь , или:
typedef enum : NSInteger {
UIKeyboardTypeDefault,
UIKeyboardTypeASCIICapable,
UIKeyboardTypeNumbersAndPunctuation,
UIKeyboardTypeURL,
UIKeyboardTypeNumberPad,
UIKeyboardTypePhonePad,
UIKeyboardTypeNamePhonePad,
UIKeyboardTypeEmailAddress,
UIKeyboardTypeDecimalPad,
UIKeyboardTypeTwitter,
UIKeyboardTypeWebSearch,
UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable
} UIKeyboardType;
doozy
на более понятный. Имейте в виду, что SO - это международный сайт, а не североамериканский