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

ios UItextField 控制输入内容只输入数字

2017-11-23 15:31 295 查看
@interface
ViewController ()<UITextFieldDelegate>

{

    UITextField *_textField;

}

@end

@implementation ViewController

- (void)viewDidLoad {

    [super
viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    

    _textField = [[UITextField
alloc]init];

    _textField.frame =
CGRectMake(20,
100, 100,
30);

    _textField.borderStyle =
UITextBorderStyleRoundedRect;

    _textField.delegate =
self;

    [self.view
addSubview:_textField];

    

}

//设置文本框只能输入数字

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

{

   
//如果是限制只能输入数字的文本框

    if (_textField==textField) {

        

        return [self
validateNumber:string];

        

    }

    //否则返回yes,不限制其他textfield

    return
YES;

}

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

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐