调整iOS硬件键盘的视图框
我按照这里的说明使用iOS键盘调整视图。 这不适用于硬件键盘。当文本视图处于活动状态时,不会显示iOS键盘,但示例代码仍然返回键盘的全高。在我的情况下,屏幕上只显示输入附件视图调整iOS硬件键盘的视图框,ios,objective-c,keyboard,Ios,Objective C,Keyboard,我按照这里的说明使用iOS键盘调整视图。 这不适用于硬件键盘。当文本视图处于活动状态时,不会显示iOS键盘,但示例代码仍然返回键盘的全高。在我的情况下,屏幕上只显示输入附件视图 如何检测这种情况并仅调整输入附件视图的视图?您可以将键盘框架与当前窗口相交,如我的回答所示。遇到了相同的问题。 看起来iOS键盘已完全实例化,并在连接硬件键盘时移出了部分视图。因此,键盘的大小是正确的。它只是没有完全显示出来 在检查了通知之后,我自己通过计算可见键盘高度来解决这个问题。 在我的示例中,我正在收听UIKe
如何检测这种情况并仅调整输入附件视图的视图?您可以将键盘框架与当前窗口相交,如我的回答所示。遇到了相同的问题。 看起来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];
}];
}
可能重复的