我们在键盘出现之前使用约束来调整视图。 调整是在UIKeyboardWillShowNotification通知上执行的。 问题在于,当用户切换到“听写”键盘时,键盘会显示出来,然后立即消失。 似乎该问题是约束条件调整的结果(self.gapViewConstraint.constan ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我按照此处的说明使用iOS键盘调整了视图。 https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/KeyboardManagement/KeyboardManagement.html
这不适用于硬件键盘。 当文本视图处于活动状态时,未显示iOS键盘,但示例代码仍返回键盘的完整高度。 在我的情况下,仅输入的附件视图显示在屏幕上。
如何检测到这种情况并仅调整输入附件视图的视图?
您可以将键盘的框架与当前窗口相交,如我的答案在这里https://stackoverflow.com/a/36553555/1049134 。
遇到了同样的问题。 看起来,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];
}];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.