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

标签 swift keyboard textfield

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

    @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
    }
}

最佳答案

更改键盘类型后,只需在 UITextField 上调用 reloadInputViews()


textField.keyboardType = .numberPad
textField.reloadInputViews()

关于swift - 在运行时更改 Swift 中文本字段的键盘类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55009749/

相关文章:

swift - 是否可以实现包含 nil 元素的 Swift SequenceType?

iphone - 使用 `CVImageBufferRef` 将 `glTexImage2D` 转换为 OpenGL ES 纹理时如何消除伪影?

javascript - 如何在ajax中引用文本字段名称?

php - 隐藏文本字段时间运行

swift - 表格 View 中的部分名称

ios - 在 View 之间滑动时更改标签文本颜色

ios - 如果链接出现在 webview 中,如何在 webview 中打开链接(swift)

objective-c - 如何将 UIView 放在键盘上方

c - 读取键盘状态

linux - 如何从用户空间发送击键?