接手二开的一个即时通讯聊天页面,输入框组件被哪个傻叉封装在第四层组件内,输入框组件根据键盘的唤起和隐藏使用js调整绝对定位fixed的bottom值,安卓端正常,但是ios端每次唤起键盘之后,输入框的fixed属性就失效了,输入框组件会跟着主页面的滚动条一起滚动导致输入框和键盘下面出现一大片空白区域,最终摒弃了他的动态调整bottom值的做法,让系统自己去推输入框。
在 iOS 的 WebView(UniApp 的 vue 页面本质是 WebView)中,当键盘唤起时,操作系统会强制推挤页面内容,而 position: fixed 元素在滚动发生时,会失去“固定”特性,跟随页面整体滚动。加上手动 JS 修改 bottom 值,造成“系统推了一次,又加了 bottom 推了一次”,导致出现巨大空白或定位错乱。
方案:
input 或 textarea 确保属性 :adjust-position='true'
pages.json为主页面添加属性 "softinputMode": "adjustResize"
"style": {
"navigationBarTitleText": "聊天页",
"app-plus": {
"softinputMode": "adjustResize"
} 



sea6 小时前
发表在:聚会喝酒摇骰子,手持弹幕,行酒令,真心话大冒险,指尖轮盘,party酒桌活跃气氛必备![draw_img]https://im...
sea1 年前
发表在:《心之力》——毛泽东叩拜
g8Yww2UK1 年前
发表在:微信小程序下载mp4视频失败saveVideoToPhotosAlbum :fail invalid video type!已解决!看看呢
凡尘神域1 年前
发表在:炫酷可装杯的艺术签名商务签名设计,看这里!不错
CqbcImLl1 年前
发表在:微信小程序下载mp4视频失败saveVideoToPhotosAlbum :fail invalid video type!已解决!学习下
sea1 年前
发表在:微信小程序下载mp4视频失败saveVideoToPhotosAlbum :fail invalid video type!已解决!123123