0

我在带有数字键盘的文本字段中将信用卡号显示为 4111 1111 1111 1111,并且空格以编程方式附加。在从左侧编辑文本字段时,我无法编辑卡号之间的空格。

我以编程方式在卡号之间添加空格。如何通过单击数字键盘中的退格键来删除空格。

4

1 回答 1

1

对于此任务,您必须制定自己的逻辑,我正在告诉delegate方法,并且在此方法中您必须实现您的逻辑

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    //Just implement your logic here
    return YES;
}  

ufff 它太复杂了亲爱的,但我解决了它,享受..

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    static int i =0;
    if (![string isEqualToString:@""])
    {
        if (i==4) {
            NSString *yourString = [NSString stringWithFormat:@"%@ ",textField.text];
            textField.text=yourString;
            i=0;
        }
        i++;
    }
    else{
        NSArray *ary = [textField.text componentsSeparatedByString:@" "];
        NSString *str = [ary lastObject];
        if (str.length > 0) {
            i--;
        }
        else{
            i = 4;
        }
        NSLog(@"Rajneesh071");
    }
    return YES;
}
于 2012-12-05T07:31:36.480 回答