contextField 键盘只允许输入数字和小数点,并且现在小数点后位数
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
if (textField == self.monthSalaryCellView.contentTextField){
NSSet *numberSet = [NSSet setWithObjects:@"0",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@".",@"", nil];
if (![numberSet containsObject:string]) { // 只能输入数字和点
return NO;
}
if ([textField.text rangeOfString:@"."].length && [string isEqualToString:@"."]) { // 最多只能输入一个点
return NO;
}
// 最多输入两位小数
NSArray *parts = [textField.text componentsSeparatedByString:@"."];
if (parts.count == 2) {
if ([parts[1] length] == 2 && ![string isEqualToString:@""] && range.location > textField.text.length - 3) {
return NO;
}
}
}
return YES;
}