0

我正在用 Swift 开发自定义键盘,我想知道键盘类型何时更改(例如,更改为数字或十进制键盘类型)。我相信这应该在textDidChangeor中完成textWillChange。此方法接收UITextInput具有属性的 a keyboardType。但是当这个方法被调用时,该属性似乎总是nil​​因为它从不运行以下代码,即使在我输入了不同的输入类型(数字)之后也是如此。

override func textDidChange(textInput: UITextInput) {
    if let inputType = textInput.keyboardType {
        //never gets here
        deleteKeyboardButton.backgroundColor = UIColor.yellowColor()
    }
}
4

1 回答 1

0

我发现您必须获取UITextDocumentProxy并使用其keyboardType属性,而不是textInput' 属性。

var proxy = self.textDocumentProxy as UITextDocumentProxy
if proxy.keyboardType == UIKeyboardType.EmailAddress {
    //add code here to display email input keyboard
}
于 2014-10-10T18:32:03.350 回答