- (void)keyboardWillShow:(NSNotification *)noti
{ //键盘输入的界面调整
//键盘的高度
float height = 220.0;
CGRect frame = self.view.frame;
frame.size = CGSizeMake(frame.size.width, frame.size.height - height);
[UIViewbeginAnimations:@"Curl"context:nil];//动画开始
[UIView setAnimationDuration:0.30];
[UIViewsetAnimationDelegate:self];
[self.view setFrame:frame];
[UIView commitAnimations];
}
- (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;
[UIViewbeginAnimations:@"ResizeForKeyboard"context:nil];
[UIView setAnimationDuration:animationDuration];
CGRect rect =
CGRectMake(0.0f,0.0f, self.view.frame.size.width,self.view.frame.size.height);
self.view.frame = rect;
[UIView commitAnimations];
[self.commentTextresignFirstResponder];
return YES;
}
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
CGRect frame = textField.superview.frame;
int offset = frame.origin.y +32 - (self.view.frame.size.height -220.0);
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];
}
- (void)textFieldDidEndEditing:(UITextField *)textField{
CGRect frame = textField.frame;
int offset = frame.origin.y +32 - (self.view.frame.size.height +220);
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;
}
[UIViewcommitAnimations];
[textField resignFirstResponder];
}
如何在ios开发中不让键盘弹出时挡住了文本框的输入
最新推荐文章于 2025-07-28 09:59:43 发布