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