正在响应UIKeyboardTypeDecimalPad上的DELETE



这件事把我逼疯了。有人知道如何回复用户按下数字键盘上的DELETE键吗?我找不到它的委托方法,并且在调用shouldChangeCharactersInRange()时只看到一个空字符串。

谢谢!

我想明白了。。。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range
                                                replacementString:(NSString *)string {
    if ([string length] == 0)
        return YES;
    NSCharacterSet *nonNumberSet = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];
    string = [[string componentsSeparatedByCharactersInSet:nonNumberSet] componentsJoinedByString:@""];
    textField.text = [textField.text stringByReplacingCharactersInRange:range withString:string];

return NO;

}

最新更新