监听、计算键盘高度

//监听键盘
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
//移除消息监听
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];
- (void)keyboardWillShow:(NSNotification *)noti
{
    //键盘尺寸
    NSValue *frameValue = [noti.userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
    CGRect frameRect = [frameValue CGRectValue];
    //动画时间
    NSValue *durationValue = [noti.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey];
    NSTimeInterval animationDuration;
    [durationValue getValue:&animationDuration];
    
    NSLog(@"键盘出现%@-----%f", NSStringFromCGRect(frameRect), animationDuration);
    
    [_personV updateInputViewFrameWithKeyboardRect:frameRect animationDuration:animationDuration];
}

- (void)keyboardWillHide:(NSNotification *)noti
{
    NSValue *frameValue = [noti.userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
    CGRect frameRect = [frameValue CGRectValue];
    
    
    NSValue *durationValue = [noti.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey];
    NSTimeInterval animationDuration;
    [durationValue getValue:&animationDuration];
    
    NSLog(@"键盘消失%@-----%f", NSStringFromCGRect(frameRect), animationDuration);
    
    [_personV updateInputViewFrameWithKeyboardRect:frameRect animationDuration:animationDuration];
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容