遇到同樣的問題。 看起來像iOS鍵盤已完全實例化,並且在連接硬件鍵盤時剛剛移出視圖部分。因此鍵盤的大小是正確的。這只是沒有完全顯示。
在檢查通知後,我通過自己計算可見鍵盤高度來解決這個問題。 在我的示例中,我正在監聽UIKeyboardWillShowNotification,UIKeyboardWillChangeFrameNotification和UIKeyboardWillHideNotification。
-(void)keyboardMessage:(NSNotification*)notification {
NSDictionary *userInfo = notification.userInfo;
CGFloat duration = [userInfo[@"UIKeyboardAnimationDurationUserInfoKey"] floatValue];
NSValue *value = userInfo[@"UIKeyboardFrameEndUserInfoKey"];
CGRect frame = [value CGRectValue];
[UIView animateWithDuration:duration animations:^{
self.lowerContraint.constant = self.view.frame.size.height - frame.origin.y;;
[self.view needsUpdateConstraints];
[self.view layoutIfNeeded];
}];
}
可能的重複[如何檢測外部鍵盤是否存在於iPad?](http://stackoverflow.com/questions/2893267/how-can-i-detect-if-an-外部鍵盤是至今上-AN-的ipad) – Rivera