ios 获取键盘高度

1.注册键盘变化监听事件

监听键盘将要弹出

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

监听键盘将要隐藏

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

2.实现监听事件,根据键盘变化做出响应的动画

- (void) keyboardWasShown:(NSNotification *)notification

{

    NSDictionary *info = [notification userInfo];

    NSValue *value = [info objectForKey:UIKeyboardFrameBeginUserInfoKey];

    CGSize keyboardSize = [value CGRectValue].size; //获取得到键盘开始动画时候的尺寸


    NSValue *endValue = [info objectForKey:UIKeyboardFrameEndUserInfoKey];

    CGSize keyboardEndSize = [endValue CGRectValue].size; //获取得到键盘动画结束时候的尺寸,可以根据尺寸的变化动态调整输入框的位置


}

- (void) keyboardWasHidden:(NSNotification *) notification

{

    NSDictionary *info = [notification userInfo];

    NSValue *value = [info objectForKey:UIKeyboardFrameBeginUserInfoKey];

    CGSize keyboardSize = [value CGRectValue].size;   

}




UIKIT_EXTERN NSString *const UIWindowDidBecomeVisibleNotification;// window可见时候的事件

UIKIT_EXTERN NSString *const UIWindowDidBecomeHiddenNotification; // wido隐藏时候的事件

UIKIT_EXTERN NSString *const UIWindowDidBecomeKeyNotification;    // 键盘可见响应事件

UIKIT_EXTERN NSString *const UIWindowDidResignKeyNotification;    // 键盘隐藏响应事件


// Each notification includes a nil object and a userInfo dictionary containing the

// begining and ending keyboard frame in screen coordinates. Use the various UIView and

// UIWindow convertRect facilities to get the frame in the desired coordinate system.

// Animation key/value pairs are only available for the "will" family of notification.

UIKIT_EXTERN NSString *const UIKeyboardWillShowNotification;

UIKIT_EXTERN NSString *const UIKeyboardDidShowNotification; 

UIKIT_EXTERN NSString *const UIKeyboardWillHideNotification; 

UIKIT_EXTERN NSString *const UIKeyboardDidHideNotification;


UIKIT_EXTERN NSString *const UIKeyboardFrameBeginUserInfoKey     //获取键盘动画开始时的CGRect

UIKIT_EXTERN NSString *const UIKeyboardFrameEndUserInfoKey     //获取键盘动画结束时的CGRect

UIKIT_EXTERN NSString *const UIKeyboardAnimationDurationUserInfoKey //获取键盘动画的时间

UIKIT_EXTERN NSString *const UIKeyboardAnimationCurveUserInfoKey    


// Like the standard keyboard notifications above, these additional notifications include

// a nil object and begin/end frames of the keyboard in screen coordinates in the userInfo dictionary.

UIKIT_EXTERN NSString *const UIKeyboardWillChangeFrameNotification  

UIKIT_EXTERN NSString *const UIKeyboardDidChangeFrameNotification  


// These keys are superseded by UIKeyboardFrameBeginUserInfoKey and UIKeyboardFrameEndUserInfoKey.

UIKIT_EXTERN NSString *const UIKeyboardCenterBeginUserInfoKey  

UIKIT_EXTERN NSString *const UIKeyboardCenterEndUserInfoKey     

UIKIT_EXTERN NSString *const UIKeyboardBoundsUserInfoKey       

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值