是否可以在数字键盘上添加删除键的目标方法?

时间:2015-12-14 16:05:57

标签: ios objective-c uitextfield

我正在为UITextField's使用数字键盘。

我已为我的文本字段设置了委托。

我使用了必需的delegate方法来处理不同的事件。

但是当x textfield用户点击数字键盘上的 hasBecomeFirstResponder 标记并且没有输入任何字符时,我无法捕捉到该事件textfield

但是,当用户按下任何字符(或文本字段中至少存在一个字符)时,我可以获取删除事件,然后按删除键。

我在storyboard中将键盘类型设置为数字键盘。

在故事板和代码中都设置了委托。

如果您想查看以下代码:

 -(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{

          if ([string length]==0) {
                NSLog(@"deleted");
                return YES;
            }

}

我认为只要按下键盘上的任意键,上面的方法就会受到影响。但在我的情况下,当文本字段为空时按下删除键时,不会触发此方法。

我的问题是: 我正在寻找一种方法来有效地检测按删除键。我不想在删除按钮的顶部添加按钮。一个答案建议在删除键上添加一个按钮。

是否可以将目标方法添加到删除键,以便随时 我按删除键,该方法会被击中? (要么) 当文本字段中没有字符并且文本字段成为第一个响应者时,是否可以获取删除键事件?

  

我想知道因为,我有四个文字字段放在水平   堆栈视图。当用户在第一个文本字段中输入一个字符时,我   我将第二个文本字段作为第一响应者,并且用户输入   第二个文本字段的文本。

     

同样地,我想让其他文本域成为第一个   响应者,当用户按下删除键时。请注意,当我想通过按删除键移回其他文本字段时,当前文本字段中不会输入任何字符。我无法检测到删除键事件时textfield是空的。

enter image description here

1 个答案:

答案 0 :(得分:0)

显示空格或数字。