- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
// 限制2位小数
NSMutableString * str = [NSMutableString stringWithString:textField.text];
[str insertString:string atIndex:range.location];
NSInteger flag=0;
const NSInteger limited = 2;
for (int i = str.length-1; i>=0; i--) {
if ([str characterAtIndex:i] == '.') {
if (flag > limited) {
return NO;
}
break;
}
flag++;
}
return YES;
}
-(void)textFieldDidBeginEditing:(UITextField *)textField
{
if (textField.tag == 1 || textField.tag == 2) {
[self.resetBtn setTitle:@"保存" forState:UIControlStateNormal];
}
CGRect frame = textField.frame;
int offset = CGRectGetMaxY(frame) - (self.scrollView.frame.size.height - 252);//键盘高度216//252 - 216 系统键盘的两个不同高度
self.offset = offset;
NSTimeInterval animationDuration = 0.30f;
[UIView beginAnimations:@"ResizeForKeyboard" context:nil];
[UIView setAnimationDuration:animationDuration];
//将视图的Y坐标向上移动offset个单位,以使下面腾出地方用于软键盘的显示
CGRect viewF = self.scrollView.frame;
if(offset < 0)
viewF.origin.y = offset;
self.scrollView.frame = viewF;
[UIView commitAnimations];
}
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
CGRect viewF = self.view.frame;
self.scrollView.frame = CGRectMake(0, 0, viewF.size.width, viewF.size.height-49);
[UIView commitAnimations];
[textField resignFirstResponder];
return YES;
}
//输入框编辑完成以后,将视图恢复到原始状态
-(void)textFieldDidEndEditing:(UITextField *)textField
{
CGRect viewF = self.view.frame;
self.scrollView.frame = CGRectMake(0, 0, viewF.size.width, viewF.size.height-49);
[UIView commitAnimations];
}
// 隐藏键盘
- (void) hideKeyboard{
CGRect viewF = self.view.frame;
self.scrollView.frame = CGRectMake(0, 0, viewF.size.width, viewF.size.height-49);
[UIView commitAnimations];
[self.nameTextF resignFirstResponder];
}