美文网首页
键盘遮住问题

键盘遮住问题

作者: BeeQiang | 来源:发表于2016-09-29 17:32 被阅读0次

    - (void)textFieldDidBeginEditing:(UITextField *)textField

    {

    NSLog(@"textFieldDidBeginEditing");

    CGRect frame = textField.frame;

    CGFloat heights = self.view.frame.size.height;

    // 当前点击textfield的坐标的Y值 + 当前点击textFiled的高度 - (屏幕高度- 键盘高度 - 键盘上tabbar高度)

    // 在这一部 就是了一个 当前textfile的的最大Y值 和 键盘的最全高度的差值,用来计算整个view的偏移量

    int offset = frame.origin.y +42- ( heights -216.0-35.0);//键盘高度216NSTimeInterval 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];

    }

    /**

    *  textField 取消选中状态

    *

    */

    -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

    {

    NSLog(@"touchesBegan");

    [self.view endEditing:YES];

    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];

    }

    还有点击键盘的return键的时候恢复原状就要在

    - (BOOL)textFieldShouldReturn:(UITextField *)textField;里头处理。

    相关文章

      网友评论

          本文标题:键盘遮住问题

          本文链接:https://www.haomeiwen.com/subject/ixonsttx.html