iOS键盘通知弹框使用小结

项目开发中文本框输入的时候经常会用到键盘弹框遮挡的问题。解决办法就是根据底部键盘弹出的高度动态的改变对应view的位置。这里以多行文本框输入为例,效果图如下。

  

  //第一步,注册监听键盘通知

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardShow:) name:UIKeyboardWillShowNotification object:nil];

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

  //第二步,根据通知调整对应view的位置

  

#pragma mark - 键盘的通知

- (void)keyboardShow:(NSNotification *)notify

{

 //获取键盘弹框的位置信息

    CGRect keyBoardRect = [notify.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];

    CGFloat deltaY = keyBoardRect.size.height/2;

 //添加动画效果,向上偏移键盘高度的二分之一

    [UIView animateWithDuration:[notify.userInfo[UIKeyboardAnimationDurationUserInfoKey] floatValue] animations:^{

        self.bottomView.transform = CGAffineTransformMakeTranslation(0, -deltaY);

    }];

}

- (void)keyboardHide:(NSNotification *)note

{

 //位置还原

    [UIView animateWithDuration:[note.userInfo[UIKeyboardAnimationDurationUserInfoKey] floatValue] animations:^{

        self.bottomView.transform = CGAffineTransformIdentity;

    } completion:^(BOOL finished){

    }];

}

  //第三步,不用的时候移除掉通知对象 

  

-(void)dealloc{

    [[NSNotificationCenter defaultCenter]removeObserver:self];

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值