监听、计算键盘高度

//监听键盘
[[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];
}

你可能感兴趣的:(监听、计算键盘高度)