在 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

15 回复

附件中是最小可复现案例

更多关于在 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 定位元素位置异常。

解决方案:

  1. 监听键盘事件:在页面中添加键盘弹出/收起事件监听
onMounted(() => {
  uni.onKeyboardHeightChange(res => {
    if (res.height === 0) {
      // 键盘收起时强制刷新布局
      window.scrollTo(0, 0)
    }
  })
})
  1. 使用 CSS 备用方案:将 fixed 改为 sticky 定位
.bottom-nav {
  position: sticky;
  bottom: 0;
  z-index: 999;
}
回到顶部