在 Edit Did Change 事件中解释从数字键盘删除键
Posted
技术标签:
【中文标题】在 Edit Did Change 事件中解释从数字键盘删除键【英文标题】:Interpret Delete Key from Number Pad in a Edit Did Change Event 【发布时间】:2012-03-07 16:03:37 【问题描述】:我正在尝试捕捉用户在 Edit Did Change 事件中按下 iPhone 数字键盘上的 del 键的情况。我想我可以通过 sender 事件捕获它,但找不到要抓取的对象,并且在网上查看过,但找不到可以通过 sender 事件按下按键的任何地方。
我正在制作电话号码文本字段格式化程序,并希望允许用户使用 del 键删除“-”。但是现在它的编写方式当然就止步于此了。我只需要捕获 del 键并让它忽略格式。
想法?
- (IBAction)homePhoneEditChanged:(id)sender
if(homePhone.text.length == 13)
homePhone.text = [homePhone.text substringToIndex:12];
return;
static BOOL toggle = NO;
if (toggle)
toggle = NO;
return;
// Add a condition here to ignore if the del key was pressed
if( homePhone.text.length == 3 || homePhone.text.length == 7)
// Add a -
toggle = YES;
homePhone.text = [NSString stringWithFormat:@"%@-",homePhone.text];
【问题讨论】:
【参考方案1】:如果您要关注本地化,电话号码格式是一个相当复杂的想法。将字段限制为仅数字字段然后遵循this 之类的内容会更好吗?
【讨论】:
谢谢你的信息,但是,我有一个特定的需求,并不需要在这个应用程序中考虑本地。我真的只需要了解如何在此方法中按下 del 键。不过,我会保留此链接以供将来考虑,并非常感谢您的帮助! NP。在遵循 Apple 指南时,这不是一个容易解决的问题。这里有人nacho4d-nacho4d.blogspot.com/2012/01/… 想出了一个技巧。祝你好运。不过,我不知道这是否适用于外部键盘。以上是关于在 Edit Did Change 事件中解释从数字键盘删除键的主要内容,如果未能解决你的问题,请参考以下文章
高手帮忙!在delphi中如何禁止edit 在中输入东西 ?
iOS 订阅 DID_CHANGE_RENEWAL_STATUS 通知:latest_expired_receipt vs latest_receipt
多个jdk 变更 引起 tomcat插件 启动不了 The JRE could not be found.Edit the server and change the JRE location.(示例
delphi输代码出现Overloaded procedure 'Edit Change' must be marked with the 'overload' dir