防止输入时键盘遮住视图
写程序的时候如果把输入框放到这种位置,输入的时候键盘必然会挡住输入框
就像这样:

这里面用到了点击背景隐藏键盘的黑科技
所以有一种解决方法是,当点击输入框时,我们把视图升高一部分。然后当输入完成时,将视图回复原来的位置。
实现这个需要实现两个代理:
当开始输入时把界面升高216,因为键盘高度是216
//OC
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
[UIView animateWithDuration:0.3f animations:^{
CGRect frame = self.view.frame;
/**
* 键盘高度是216
*/
frame.origin.y -= 216;
self.view.frame = frame;
}];
}
输入完成后点击完成,再把界面降216个高度,然后隐藏键盘
//OC
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[UIView animateWithDuration:0.3f animations:^{
CGRect frame = self.view.frame;
frame.origin.y +=216;
self.view.frame = frame;
}];
[textField resignFirstResponder];
return YES;
}
效果是这样:
