【发布时间】:2020-06-13 06:02:21
【问题描述】:
我有一个在情节提要中创建的集合视图和一个容器视图,其中文本字段以编程方式限制在视图的底部。但是,当我显示键盘时,集合视图会隐藏在下面,我不知道该怎么做。我看了看,大多数答案都说在键盘通知侦听器中使用 self.view.frame.origin.y 但这对我不起作用。
我的键盘通知代码
@objc func keyboardWillShow(notification: NSNotification) {
let keyboardFrame = (notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue
let duration = ((notification.userInfo?[UIResponder.keyboardAnimationDurationUserInfoKey] as? NSNumber)?.doubleValue)!
containerViewbottomAnchor?.constant = -keyboardFrame!.height
UIView.animate(withDuration: duration) {
self.view.layoutIfNeeded()
}
}
第一张图片是正常聊天,第二张是显示键盘时可以看到的最大视图。容器视图包含我以编程方式添加的文本字段和按钮。它们位于输入附件视图中,以便在键盘出现时更新它们的位置。
【问题讨论】:
-
containerViewbottomAnchor是什么? -
并在此函数中记录
keyboardFrame... 确保您获得了身高 -
你能用这个解决方案检查一下吗stackoverflow.com/a/56802182/7301439
-
我编辑了原件以显示更多容器视图的图片