0

数字キーボードを使用してテキストフィールドにクレジットカード番号を411111111111 1111と表示していますが、プログラムでスペースが追加されています。左からテキストフィールドを編集している間、カード番号の間にあるスペースを編集できません。

プログラムでカード番号の間にスペースを追加しています。テンキーのバックスペースをクリックしてスペースを削除する方法。

4

1 に答える 1

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;
}
于 2012-12-05T07:31:36.480 に答える