解决键盘挡住输入框的问题
步骤:
1、将UITextField全部设置好Delegate;
_NameTextField.delegate=self;
_IDCardTextField.delegate=self;
_MobileTextField.delegate=self;
2、实现代理方法中的textFieldDidBeginEditing 和textFieldDidEndEditing方法。
#pragma mark - UITextFieldDelegate
//开始编辑时,整体上移
- (void)textFieldDidBeginEditing:(UITextField *)textField{
if( (textField.tag==327)||(textField.tag==328)||(textField.tag==329)){
[self moveView:-100];
}
}
//结束编辑时,整体下移
- (void)textFieldDidEndEditing:(UITextField *)textField{
if ( (textField.tag==327)||(textField.tag==328)||(textField.tag==329)){
[self moveView:100];
}
}
3、设置移动的事件,将VIEW的Y轴改变
//上移Y轴,界面动画效果
-(void)moveView:(float)move{
NSTimeInterval animationDuration = 0.30f;
CGRect frame = self.view.frame;
frame.origin.y +=move;//view的Y轴上移
self.view.frame = frame;
[UIView beginAnimations:@"ResizeView" context:nil];
[UIView setAnimationDuration:animationDuration];
self.view.frame = frame;
[UIView commitAnimations];//设置调整界面的动画效果
}
4、点击任何地方收起键盘
//重载UiViewController中的touchesBegin方法,单击UIViewController任意地方,都可收起键盘
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
[self.NameTextField resignFirstResponder];
[self.IDCardTextField resignFirstResponder];
[self.MobileTextField resignFirstResponder];
}