#pragma mark - textFieldDelegate 被键盘挡住时能自动调整textField frame, 回收键盘时frame能还原
//如果工程里还用的其他回收键盘的方法 如UIApplication ShareApplication或者touchBegan 则也需要把此textShouldReturn方法写在那些方法的点击事件里
{
// When the user presses return, take focus away from the text field so that the keyboard is dismissed.
NSTimeInterval animationDuration = 0.30f;
[UIView beginAnimations:@"ResizeForKeyboard" context:nil];
[UIView setAnimationDuration:animationDuration];
CGRect rect = CGRectMake(0.0f, 0.0f, [[UIScreen mainScreen]bounds].size.width, [[UIScreen mainScreen]bounds].size.height);
//CGRect rect = CGRectMake(0.0f, 20.0f, self.view.frame.size.width, self.view.frame.size.height);
self.view.frame = rect;
[UIView commitAnimations];
[textField resignFirstResponder];
return YES;
}
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
CGRect frame = self.textfield.frame; //要放整体上移的view,如果想让textField父view也跟着上移,即textfield所在的view, 就需要写整体上移其父视图 的frame
int offset = frame.origin.y + 35 + 64 - ([[UIScreen mainScreen]bounds].size.height - 216.0);//216是键盘高度, (35 + 64 = textfield高度 + naviBar高度)
NSTimeInterval animationDuration = 0.30f;
[UIView beginAnimations:@"ResizeForKeyBoard" context:nil];
[UIView setAnimationDuration:animationDuration];
float width = self.view.frame.size.width;
float height = self.view.frame.size.height;
if(offset > 0)
{
CGRect rect = CGRectMake(0.0f, -offset,width,height);
self.view.frame = rect;
}
[UIView commitAnimations];
}
#pragma mark