在运行时更改 Swift 中文本字段的键盘类型

TSo*_*ono 2 keyboard textfield swift

我想知道是否有一种方法可以检查文本字段是否包含特定字符,如果是这种情况,请更改显示的键盘类型。这是我尝试过的,但无法改变。这是当编辑文本字段发生更改时发生的操作。

    @IBAction func decOrNot(_ sender: Any) {
    let cont = "1"
    let field = testKaede.text
    if (field!.contains(cont)) {
        self.testKaede.keyboardType = UIKeyboardType.numberPad
    }
    else {
        self.testKaede.keyboardType = UIKeyboardType.decimalPad
    }
}
Run Code Online (Sandbox Code Playgroud)

Rob*_*ler 5

更改键盘类型后只需调用reloadInputViews()您的即可UITextField


textField.keyboardType = .numberPad
textField.reloadInputViews()
Run Code Online (Sandbox Code Playgroud)