UITextField textFieldDidEndEditing未从启用到禁用的UITextField调用

时间:2015-07-07 15:21:20

标签: ios iphone swift uitextfield uitextfielddelegate

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

textA有时会被禁用,但textB始终处于启用状态。

使用以下方法禁用textA:

textA.enabled = false

当我在textB外面点击时,键盘应该辞职

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

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

如果启用了textA,并且在编辑textB后单击它,则textFieldDidEndEditing会触发textB,这是没有价值的。

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

1 个答案:

答案 0 :(得分:1)

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