如果我在标题中没有充分解释我的问题,我很抱歉。
在我的应用程序中,我使用一个小的子视图在屏幕的顶部创建一个非常基本的计算器(我只有一个UITextField来显示操作和两个按钮)。我没有使用自定义键盘,而是想使用标准的iPhone数字键盘。
我的问题是,在进行操作(例如添加两个数字)并显示结果后,我无法弄清楚当用户输入新号码时如何清除屏幕。
所以,例如:
用户选择“+” - > 16显示为前一操作的结果,并应保持在那里直到按下另一个数字(他想继续添加更多数字)
用户输入“5”
此时,如果我使用自定义键盘,我可以在用户按下“5”按钮后立即清除UITextField,但在使用标准数字键盘时我无法弄清楚如何操作。所以,我现在得到的结果是“165”。
有没有办法检测何时在标准数字键盘中按下某个键,以便在新号码出现之前我可以清除UITextField?我认为可能存在NSNotification,但我找不到它。
我知道如果我创建了一个自定义键盘,或者我使用了两个独立的UITextFields(一个用于操作,另一个用于总计),我可以解决我的问题,但我想使用标准数字键盘这是可能的。
非常感谢!
答案 0 :(得分:1)
设置UITextField的委托并使用shouldChangeCharactersInRange:replacementString:
这将捕获每个按键,使您可以按照自己的意愿行事。见
如果我理解你的话应该覆盖它。