不使用键盘调用func textfield(...)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不使用键盘调用func textfield(...)相关的知识,希望对你有一定的参考价值。
我有一个更改文本字段值的按钮。我如何得到它也执行textField函数,就像在文本字段中键入值一样?
此功能仅在您使用键盘键入时才有效。我还需要在不使用键盘的情况下调用它。
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
print("some actions her")
return true
}
答案
你没有。此委托方法仅作为用户类型调用。如果您明确设置文本字段的text
属性,则永远不会调用它。这是一件好事。在text
委托方法中设置文本字段的shouldChangeCharactersIn
并不罕见。如果设置文本导致调用委托方法,则最终会导致无限递归。
由于您的代码是显式设置文本,因此不需要调用委托。只需将文本设置为所需的值即可。
如果存在格式化文本或其他处理的逻辑,则将该逻辑放在另一个函数中,然后您可以从两个位置调用该函数 - 从shouldChangeCharactersIn
和您设置文本字段文本的任何位置。
以上是关于不使用键盘调用func textfield(...)的主要内容,如果未能解决你的问题,请参考以下文章
Qt TextField 在 Android 设备上启动时未调用键盘
ios,怎么做打开一个界面,里面的textfield自动打开键盘,提示你输入?