1

我有一个在编辑更改时运行计算并更新标签的文本字段。使用 textField 为货币格式化文本字段: shouldChangeCharactersInRange:

标签也被格式化为货币。

在 IOS 5 中,标签会随着数字输入到文本字段中而更新。

在 IOS 6 中,除非在不同的文本字段中输入值,否则标签不会更新。

IOS 6 或 Xcode 4.5 中是否有任何更改以使 Editing Changed 或 textField: shouldChangeCharactersInRange: 工作方式不同?

4

1 回答 1

1

是的,我只是注意到了同样的事情——请注意,只有当 shouldChangeCharactersInRange 返回“NO”时,editingChanged 才会被调用——即便如此我怀疑这是一个错误,应该报告给 Apple。EditingChanged 事件只是 UITexField 从 UIControl 继承的事件,我不明白为什么 Apple 应该阻止它工作,即使 shouldChangeCharactersInRange 返回“NO”,文本字段应该知道是否进行了更改。

我正在做的是将我的代码从 editorChanged 事件直接移动到 shouldChangeCharactersInRange 方法中。意思是,在我返回“NO”的地方,我嵌入了我想在 editorChanged 事件中调用的代码。应该适用于大多数情况。希望这可以帮助。

于 2012-10-22T14:03:31.690 回答