限制UITextField中输入内容,如只限制输入数字,字母或者某几个键盘元素。
现在我们限制只能输入0-9的数字。
#pragma mark - UITextFieldDelegate
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
if (textField == self.windowNumField && range.location > 4) {
return NO;
}
NSCharacterSet *cs;
if(textField == self.windowNumField) {
cs = [[NSCharacterSet characterSetWithCharactersInString:@"1234567890"] invertedSet];
NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
BOOL basicTest = [string isEqualToString:filtered];
if(!basicTest) {
return NO;
}
}
return YES;
}
同理,如果我们限制只能输入26个英文字母,把代码中的0-9数字字符串替换成a-z即可。