在Swift中,我有一个UITextField,textA和一个UITextField,textB。

有时会禁用textA,但始终启用textB。

使用以下命令禁用textA:

textA.enabled = false


当我在textB之外单击时,键盘应该退出

func textFieldDidEndEditing(textField: UITextField) {
    textField.resignFirstResponder()
}


此委托函数将触发,但有一个例外。如果我正在编辑textB,并在禁用它时单击到textA,则textFieldDidEndEditing不会调用textB,并且键盘保持打开状态。

如果启用了textA,并且在编辑textB之后单击它,则textFieldDidEndEditing确实会触发textB,这毫无价值。

关于如何使代表解雇的任何想法?

最佳答案

当未启用textA时,它不会注册分接头,因此不能成为firstResponder,因此textB仍然是响应者。

关于ios - 从启用到禁用的UITextField中未调用UITextField textFieldDidEndEditing,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31272780/

10-10 06:51