不使用键盘

时间:2017-07-09 04:56:20

标签: ios swift uitextfield

我有一个更改文本字段值的按钮。 如何让它也执行下面的textField函数,就像在文本字段中输入值一样?

此功能仅在您使用键盘输入时有效。我还需要在不使用键盘的情况下调用它。

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
    print("some actions her")

    return true
}

1 个答案:

答案 0 :(得分:1)

你不是。此委托方法仅作为用户类型调用。如果您明确设置文本字段的text属性,则永远不会调用它。这是一件好事。在text委托方法中设置文本字段shouldChangeCharactersIn并不罕见。如果设置文本导致调用委托方法,则最终会导致无限递归。

由于您的代码是显式设置文本,因此无需调用委托。只需将文本设置为所需的值即可。

如果存在格式化文本或其他处理的逻辑,请将该逻辑放在另一个函数中,然后您可以从两个位置调用该函数 - 从shouldChangeCharactersIn和您设置文本字段的位置' s文本。