解释Edit Do Change事件中数字键盘上的Delete键



我试图捕捉用户在"编辑已更改"事件中按下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];
      }    
  }

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

最新更新