需要在卡号文本字段中编辑空格

时间:2012-12-05 07:06:52

标签: iphone uitextfield

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

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

1 个答案:

答案 0 :(得分:1)

对于这个任务,你必须自己制作逻辑,我告诉delegate方法,在这个方法中你必须实现你的逻辑

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    //Just implement your logic here
    return YES;
}  
亲爱的,这太复杂了,但我解决了,享受..

-(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;
}