0

如何识别用户何时按下键盘上的键?它的委托方法是什么?

4

2 回答 2

1
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    NSLog(@"%@",[NSString stringWithFormat:@"%d", [string length]]);
    
    if (string.length==0)
    {
        NSLog(@"This is BackSpace");
    }
    
    return YES;
}
于 2013-01-26T10:05:49.467 回答
1

将 textFields 文本设置为零宽度的空格字符\u200B。如果您在显示为空的文本字段上按 backspce,它实际上会删除您的空间。然后你可以重新插入空间。但插入符号不移动它仍然位于相同的位置,但它会删除空间。

或者只是你可以检查长度

- (BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
 {
     NSCharacterSet *nonNumberSet = [[NSCharacterSet characterSetWithCharactersInString:@"stringsss."] invertedSet];

    if (range.length == 1) {
       return string;
    }
    else {
       return ([string stringByTrimmingCharactersInSet:nonNumberSet].length > 0);
    }   
 }

检查这些问题的答案问了很多次。

于 2013-01-26T10:31:36.437 回答