【问题标题】:Interpret Delete Key from Number Pad in a Edit Did Change Event在 Edit Did Change 事件中解释从数字键盘删除键
【发布时间】: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];
      }    
  }

【问题讨论】:

    标签: objective-c ios cocoa-touch ios5


    【解决方案1】:

    如果您要关注本地化,电话号码格式是一个相当复杂的想法。将字段限制为仅数字字段然后遵循this 之类的内容会更好吗?

    【讨论】:

    • 谢谢你的信息,但是,我有一个特定的需求,并不需要在这个应用程序中考虑本地。我真的只需要了解如何在此方法中按下 del 键。不过,我会保留此链接以供将来考虑,并非常感谢您的帮助!
    • NP。在遵循 Apple 指南时,这不是一个容易解决的问题。这里有人nacho4d-nacho4d.blogspot.com/2012/01/… 想出了一个技巧。祝你好运。不过,我不知道这是否适用于外部键盘。
    猜你喜欢
    • 2010-12-30
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 2017-08-28
    • 2012-03-09
    • 2014-02-19
    • 2011-06-27
    • 2010-11-17
    相关资源
    最近更新 更多