设置输入时页面适应键盘展示

步骤1.viewDidLoad{}方法中设置监听

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(revertViewBounds) name:UIKeyboardWillHideNotification object:nil];

步骤2.在.m中添加此方法,此时已经设置结束编辑时(收起键盘时页面位置)

- (void)revertViewBounds
{
    if (self.view.bounds.origin.y > 0)
    {
        [UIView animateWithDuration:0.2 animations:^{
            self.view.bounds = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height);
        }];
    }
}

步骤3.设置开始编辑时页面位置

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{ 
    //可以在此处设置弹出键盘时页面布局
    CGRect newTFRect = [textField convertRect:textField.bounds toView:self.view];
    CGFloat dist = (ScreenHeight - 216) - (newTFRect.origin.y + newTFRect.size.height + 100);

    if (dist < 0) {
        [UIView animateWithDuration:0.3 animations:^{
            self.view.bounds = CGRectMake(0, -dist, self.view.bounds.size.width, self.view.bounds.size.height);
        }];
    }

    return YES;
} 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容