Filtering characters entered into a UITextField

前端 未结 7 1031
猫巷女王i
猫巷女王i 2020-12-14 03:54

I have a UITextField in my application. I\'d like to restrict the set of characters that can be can be entered into the field to a set that I have defined. I could filter th

7条回答
  •  南方客
    南方客 (楼主)
    2020-12-14 04:20

    I did as marcc suggested and it worked well. Sample implementation follows.

    Note: Variable names were selected for brevity and do not reflect my coding standards:

        ...
        myCharSet = [NSCharacterSet characterSetWithCharactersInString:@"xyzXYZ"];
        ...
    }
    
    - (BOOL) textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)textEntered {
        for (int i = 0; i < [textEntered length]; i++) {
            unichar c = [textEntered characterAtIndex:i];
            if (![myCharSet characterIsMember:c]) {
                return NO;
            }
        }
        return YES;
    }
    

提交回复
热议问题