gpt4 book ai didi

iphone - 检测 UITextField 文本何时因抖动撤消而更改?

转载 作者:行者123 更新时间:2023-12-03 18:57:59 27 4
gpt4 key购买 nike

我有一个 UITextFieldDelegate,它对用户输入进行大量验证,以确定是否应该允许他们结束编辑。在一个特定示例中,将该字段留空是无效的。

现在,我正在使用 textField:shouldChangeCharactersInRange:replacementString: 在用户每次编辑后验证文本输入。

问题是这样的:如果用户清除该字段(使用小“x”按钮),验证代码就会进入“无效”模式,并阻止用户在输入有效文本之前离开。如果用户随后摇动手机以取回旧文本,则不会再次调用 shouldChangeCharactersInRange,并且委托(delegate)将保持在“无效”状态,而不是认识到一切都再次正常。

不确定我是否正确使用它,但似乎内置的 UITextFieldDelegate 机制无法处理由于撤消/重做而导致的文本更改。

在这种情况下实现正确验证的最佳方法是什么?我真的需要子类化 UITextField 才能实现 motionEnded:withEvent: 吗?似乎 UITextField 中的编辑处理内容应该真正独立于用户是否实际键入它或由于撤消而发生,所以如果我实际上必须走那条路,我会感到沮丧。

最佳答案

将一个方法连接到 UIControlEventEditingChanged 事件(IB 中的“编辑已更改”,而不是“值已更改”)。

每当/无论文本字段发生变化,这似乎都会触发。

关于iphone - 检测 UITextField 文本何时因抖动撤消而更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3918638/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com