我正在开发Swift中的自定义键盘,我想知道键盘类型何时更改(例如数字或小数键盘类型)。我认为这应该在textDidChange
或textWillChange
中完成。此方法会收到UITextInput
,其属性为keyboardType
。但是当调用此方法时,该属性似乎始终为nil
,因为即使在我输入了不同的输入类型(数字)之后,它也从不运行以下代码。
override func textDidChange(textInput: UITextInput) {
if let inputType = textInput.keyboardType {
//never gets here
deleteKeyboardButton.backgroundColor = UIColor.yellowColor()
}
}
答案 0 :(得分:0)
我发现您必须获取UITextDocumentProxy
并使用其keyboardType
属性,而不是textInput
的属性。
var proxy = self.textDocumentProxy as UITextDocumentProxy
if proxy.keyboardType == UIKeyboardType.EmailAddress {
//add code here to display email input keyboard
}