编辑已更改在IOS5中工作,但不在IOS6中工作。 textField:shouldChangeCharactersInRange:

时间:2012-10-21 17:13:09

标签: iphone ios ipad ios6 xcode4.5

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

将textfield格式化为货币

标签也按货币格式化。

在IOS 5中,标签会在数字输入文本字段时更新。

在IOS 6中,在另一个文本字段中输入值之前,标签不会更新。

在IOS 6或Xcode 4.5中是否有任何改变以使编辑更改或textField:shouldChangeCharactersInRange:以不同的方式工作?

1 个答案:

答案 0 :(得分:1)

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

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