- (BOOL)textFieldShouldReturn:(UITextField *)textField { // 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, self.frame.size.width, self.frame.size.height); self.frame = rect; [UIView commitAnimations]; [textField resignFirstResponder]; return YES; } #define Move_Height 80- (void)textFieldDidBeginEditing:(UITextField *)textField{ CGRect frame = textField.frame; int offset = frame.origin.y + Move_Height - (self.frame.size.height - 216.0);//鍵盤高度216 NSTimeInterval animationDuration = 0.30f; [UIView beginAnimations:@"ResizeForKeyBoard" context:nil]; [UIView setAnimationDuration:animationDuration]; float width = self.frame.size.width; float height = self.frame.size.height; if(offset > 0) { CGRect rect = CGRectMake(0.0f, -offset,width,height); self.frame = rect; } [UIView commitAnimations]; }