设置键盘样式
textField.keyboardType
#pragma mark UITextFieldDelegate
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
NSString * str = [textField.text stringByReplacingCharactersInRange:range withString:string];
限制输入字数
if (str.length > 5 ) {
textField.text = [str substringToIndex:5];
return NO;
}
适用于金额输入
if (str.length > 0) {
//限制只能输入:1234567890
NSCharacterSet * characterSet = [[NSCharacterSet characterSetWithCharactersInString:@"1234567890"] invertedSet];
NSString * inputStr = [[string componentsSeparatedByCharactersInSet:characterSet] componentsJoinedByString:@""];
return [string isEqualToString:inputStr];
}
//限制首位0,后面只能输入.
if ([textField.text isEqualToString:@"0"]) {
if (![string isEqualToString:@"."]) {
return NO;
}
}
//限制.后面最多有两位,且不能再输入.
if ([textField.text rangeOfString:@"."].location != NSNotFound) {
//有.了 且.后面输入了两位 停止输入
if (str.length > [str rangeOfString:@"."].location+3) {
return NO;
}
//有.了,不允许再输入.
if ([string isEqualToString:@"."]) {
return NO;
}
}
//最后一位不可删除 n 不可删除的文字位数
if (textField.text.length + string.length > n) {
return NO;
}
}