ios - 当 iOS 虚拟键盘出现在屏幕上时,是否有已知的解决方法可以解决在错误位置渲染的固定元素?
问题描述
我有一个应用程序利用 WKWebView 处理大部分内容。在一些屏幕中,我们在一个 div 中有按钮,这些按钮可以利用position: fixed;
它们始终在同一个位置,因为下面的长表单滚动。当显示虚拟键盘时,我向文档正文添加了一个类,该类可用于调整其他内容,例如,调整bottom
包含这些按钮的 div 上的属性,以便它们在键盘上方移动。
到目前为止,一切都很好,它们总是可见的。当表单随后滚动时,问题就出现了,按钮明显地随着页面的其余部分向上移动(它们不应该),但浏览器实际上表现得好像它们仍然在它们应该在的位置。屏幕截图显示了浏览器认为按钮所在的位置,如果您触摸这些区域,按钮就会被激活。
我很高兴将其归为 WebKit 或特别是 WKWebView 的错误,但是否有已知的解决方法,以便它们呈现在正确的位置?我读到添加翻译以触发硬件渲染可能会有所帮助,但它似乎并没有在这里完成工作。我还读到将位置更改为absolute
可以解决此问题,但对我而言,这只会导致它们完全被渲染到屏幕之外的某个地方。
解决方案
您可以将固定位置添加到按钮包装器
.btn-bar-fixed {
position: fixed;
bottom: 0px;
right: 0px;
}
推荐阅读
- php - 在codeigniter中上传具有特定宽度和高度的图像
- php - PDOException::("SQLSTATE[42S22]: 未找到列:1054 '字段列表'中的未知列'问题'")
- android - 如何更改点击的recyclerview行的颜色?
- python-3.x - Naive Bayes 和 K-Nearest Neighbour 中“coefs_”或“features_importance_”的等价物是什么?
- jquery - 在页面加载时随机排列 DIV
- android - Android Studio 错误:原因:无效类型代码:2A
- asp.net - 为什么 Visual Studio asp.net 项目中的无点编译不起作用?
- protractor - 我在 chromebook 上运行量角器:错误消息告诉我错误:找不到 Chrome 二进制文件?
- php - SET 然后选择 ORDER BY CASE
- java - 如何通过添加其他属性根据日期进行分组