在 IOS 26中 uni-app 点击输入框后 fixed会失效
在 IOS 26中 uni-app 点击输入框后 fixed会失效
| 项目信息 | 详细信息 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境操作系统 | Mac |
| PC开发环境操作系统版本号 | macOS Tahoe 26.0.1 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 4.76 |
| 手机系统 | iOS |
| 手机系统版本号 | iOS 26 |
| 手机厂商 | 苹果 |
| 手机机型 | ihpne 12 |
| 页面类型 | vue |
| vue版本 | vue3 |
| 打包方式 | 云端 |
| 项目创建方式 | 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: 不是uniapp的bug,我两台iPhone设备都装了第三方专门测试ibeacon的应用。但就是Iphone17搜不到,iPhone14能搜到,而且两台iPhone的iOS版本都是26.0.1。查了一个星期,什么资料都查不到。真没头绪了
回复 DCloud_UNI_OttoJi: 我提了个求助贴。 https://ask.dcloud.net.cn/question/214791
这是一个已知的 iOS 26 系统兼容性问题。当软键盘弹出时,iOS 26 会重新计算视口高度,导致 fixed 定位元素位置异常。
解决方案:
- 监听键盘事件:在页面中添加键盘弹出/收起事件监听
onMounted(() => {
uni.onKeyboardHeightChange(res => {
if (res.height === 0) {
// 键盘收起时强制刷新布局
window.scrollTo(0, 0)
}
})
})
- 使用 CSS 备用方案:将 fixed 改为 sticky 定位
.bottom-nav {
position: sticky;
bottom: 0;
z-index: 999;
}

