iOS键盘自适应高度

     总:iOS键盘自适应高度,对于第三方键盘时方法: - (void)keyboardWillShow:(NSNotification *)aNotification   会调用三次,使得self.view.origin = CGPointMake(0,0-keyBoardHeight+64); 键盘的orgin会连续变化三次的问题暂时没有解决,求指教。


   言归正传:

  一:发送通知,检测键盘的弹出和收缩:

         

//增加监听,当键盘出现或改变时收出消息
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(keyboardWillShow:)
                                                 name:UIKeyboardWillShowNotification
                                               object:nil];
    
    //增加监听,当键退出时收出消息
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(keyboardWillHide:)
                                                 name:UIKeyboardWillHideNotification
                                               object:nil];
  二:当键盘弹出或者收缩是触发事件,相应方法:


#pragma mark - 键盘展示和收起时候调用
//当键盘出现或改变时调用
- (void)keyboardWillShow:(NSNotification *)aNotification
{
    if ([invationView.textField isFirstResponder]) {
        //获取键盘的高度
        NSDictionary *userInfo = [aNotification userInfo];
        NSValue *aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
        CGRect keyboardRect = [aValue CGRectValue];
        keyBoardHeight = keyboardRect.size.height;
        [UIView animateWithDuration:0.3 animations:^{
            self.view.origin = CGPointMake(0, 0-keyBoardHeight+64);
        }];
    }
   
}

//当键退出时调用
- (void)keyboardWillHide:(NSNotification *)aNotification
{
    keyBoardHeight = 0;
     self.view.origin = CGPointMake(0, 64);
}

   就是这么简单,键盘处理至此结束,相应地操作可以在处理过程中添加。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值