防止键盘挡住textFiled的解决方案

来源:互联网 发布:微游戏机 vs 网络盒子 编辑:程序博客网 时间:2024/05/21 10:03
键盘出现实现textfield的代理方法- (void)textFieldDidBeginEditing:(UITextField *)textField{   CGRect frame = textField.frame;   CGPoint rootFrame = [[textField superview] convertPoint:frame.origin toView:self.view];//把控件的坐标转为相对于屏幕的坐标   int offset = rootFrame.y + 56 - (self.view.frame.size.height - 216.0);//键盘高度216   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];}键盘收起- (IBAction)hideKeyboard:(id)sender {   NSTimeInterval animationDuration = 0.30f;   [UIView beginAnimations:@"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];   //在这把textField的第一焦点去掉}
0 0