调整 UITableView 以允许使用键盘

Posted

技术标签:

【中文标题】调整 UITableView 以允许使用键盘【英文标题】:Adjust UITableView to allow for keyboard 【发布时间】:2019-06-02 22:36:02 【问题描述】:

当键盘显示在所有设备的屏幕上时,调整UITableView 高度的神奇咒语是什么?在keyboardDidShow通知中,我在做

tableView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: keyboardSize.height - view.safeAreaInsets.bottom, right: 0)
tableView.scrollIndicatorInsets = tableView.contentInset

我的表格视图的底部约束是Align Bottom to: Safe Area

这适用于所有 iPhone 5|6|7|8 类型的设备,但不适用于 iPhone X* 设备;调整量不够,无法将桌面底部向上移动到键盘顶部。大约 58 像素短。

当然,必须有某种方法可以使其普遍适用,是吗?我错过了什么?

【问题讨论】:

【参考方案1】:

这是因为 iPhone X 以外的 iPhone 没有底部安全区。 尝试删除 view.safeAreaInsets.bottom。

【讨论】:

以上是关于调整 UITableView 以允许使用键盘的主要内容,如果未能解决你的问题,请参考以下文章

根据 UITableView 调整 UIScrollView 高度

UITableView 在 TableView 中间加载单元格。为啥?

我应该调整图像大小以便在UITableView中显示吗?

调整大小后 UITableView 混乱 | Objective-C

如何快速在 UITableView 中的键盘上方滚动 UITextView

使用自定义键盘时使 UITableView 滚动到正确的位置