您的位置:首页 > 产品设计 > UI/UE

键盘只能输入数字(或其它特定的规定字符)

2016-05-20 15:54 453 查看
在开发中在特定的情况下只能输入一些我们规定的字符,不如:0-9,其他字符输入输入无效。

一般情况下,UITextField的Keyboard设备为Number Pad,就可以满足了,不过有的时候,设备安装第三方的输入法,虽然点击输入框弹出的键盘都是数字,可是还会有其他的按键可以调成中文活着英文,我们不排除不乖的用户会这么做。所以最好的办法就是。。。。。。

当当当当,

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string {

    return [self
validateNumber:string];

}

- (BOOL)validateNumber:(NSString*)number {

    BOOL res =
YES;

    NSCharacterSet* tmpSet = [NSCharacterSet
characterSetWithCharactersInString:@"0123456789"];

    int i =
0;

    while (i < number.length) {

        NSString * string = [number
substringWithRange:NSMakeRange(i,
1)];

        NSRange range = [string
rangeOfCharacterFromSet:tmpSet];       
if (range.length ==
0) {

            res = NO;

            break;

        }

        i++;

    }

    return res;

}
我不是雷锋,不要谢我
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息