監聽、計算鍵盤高度

//監聽鍵盤
[[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];
}
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容