Я разрабатываю пользовательскую клавиатуру в Swift, и мне хотелось бы знать, когда изменяется тип клавиатуры (например, на число или десятичную клавиатуру). Я считаю, что это должно быть сделано либо в textDidChange
, либо в textWillChange
. Этот метод получает UITextInput
, который имеет свойство keyboardType
. Но когда вызывается этот метод, это свойство всегда должно быть nil
, потому что он никогда не запускает следующий код, даже после того, как я ввел другой тип ввода (число).Почему textInput.keyboardType nil в textDidChange?
override func textDidChange(textInput: UITextInput) {
if let inputType = textInput.keyboardType {
//never gets here
deleteKeyboardButton.backgroundColor = UIColor.yellowColor()
}
}