在 IOS 26中 uni-app 点击输入框后 fixed会失效
在 IOS 26中 uni-app 点击输入框后 fixed会失效
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Mac | macOS Tahoe 26.0.1 | HBuilderX |
操作步骤:
- 目前测试机仅测试了 iPhone12 以上的(iPhone 以下微测试)
- 先滚动页面,fixed 定位正常,再点击输入框, fixed 定位异常
预期结果:
- 两次都应该正常
实际结果:
- 先滚动页面,fixed 定位正常,再点击输入框, fixed 定位异常
bug描述:
- 在 IOS 26中,底部导航使用 fixed 做自定义导航在底部,页面内有一个 input 框,开始时页面正常滚动时,fixed 没有问题,当点击页面 input 后,再收起键盘,底部导航就会跟着页面滚动了
更多关于在 IOS 26中 uni-app 点击输入框后 fixed会失效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
附件中是最小可复现案例
更多关于在 IOS 26中 uni-app 点击输入框后 fixed会失效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
参考这个 https://ask.dcloud.net.cn/question/213981
看你描述是同一个问题, fixed+input 导致的问题,是 Safari 的 bug
我这个是 APP,APP 也是这个问题吗
回复 early_Summer: 对,苹果改动了 webview 的一些 css 规则
回复 DCloud_UNI_OttoJi: 好的
回复 early_Summer: 等 26.1 推送,苹果修复了这个 bug,这个目前没有绕过方案,需要等苹果修复。
ios17和18正常没问题,但是ios26就有和作者一样的问题.是还没兼容ios26吗
等 26.1 推送,苹果修复了这个 bug,这个目前没有绕过方案,需要等苹果修复。
那现在有没有什么临时解决方案呢
看描述苹果 26.1 已经修复了,后续会推送。这个问题是渲染引擎底层出现了问题,目前没有绕过方案,需要等苹果修复。
回复 DCloud_UNI_OttoJi: 您好,方便指导下一个问题吗?为什么ios26搜不到安卓设备发出的ibeacon信号,其它ios版本能搜到,而且ios26能搜到ios设备发出的ibeacon信号
回复 我愿你知道: 如果相同的代码产物,在低版本的 iPhone 上正常,高版本的 iPhone 上不正常,可能是 iPhone 的 bug,你可可参考 UTS 插件介绍 和 原生混编 编写 swift 原生代码进行处理,看是否是原生代码也有问题,也可在插件市场搜索。 如果你认为是 Uniapp 的bug,请单独开贴,按照 bug 反馈填写。
回复 DCloud_UNI_OttoJi: 我提了个求助贴。 https://ask.dcloud.net.cn/question/214791
这是一个已知的 iOS 26 系统兼容性问题。当软键盘弹出时,iOS 会重新计算视口高度,导致 fixed 定位元素失效。
解决方案:
-
使用 CSS 替代方案
.fixed-bottom { position: sticky; bottom: 0; width: 100%; } -
监听键盘事件
// 键盘弹出时 uni.onKeyboardHeightChange(res => { if (res.height > 0) { // 键盘弹出,临时调整布局 } else { // 键盘收起,恢复布局 } }) -
使用页面滚动替代全局滚动 在页面配置中设置:
{ "style": { "navigationBarTitleText": "", "enablePullDownRefresh": false, "pageOrientation": "auto", "disableScroll": true } } -
临时修复方案 在 input 的 @blur 事件中强制刷新布局:
onBlur() { setTimeout(() => { window.scrollTo(0, 0) }, 100) }


