uni-app 禁止侧滑"popGesture": "none" 在 hbuilderx3.4.7 和 ios 12.5.4 系统上失效

uni-app 禁止侧滑"popGesture": “none” 在 hbuilderx3.4.7 和 ios 12.5.4 系统上失效

开发环境 版本号 项目创建方式
Windows w10 HBuilderX
产品分类:uniapp/App

PC开发环境操作系统:Windows

PC开发环境操作系统版本号:w10

HBuilderX类型:正式

HBuilderX版本号:3.4.7

手机系统:iOS

手机系统版本号:iOS 12.4

手机厂商:苹果

手机机型:iPhone 6 Plus

页面类型:nvue

vue版本:vue2

打包方式:云端

项目创建方式:HBuilderX

操作步骤:
"path": "",
"style": {
"navigationStyle" : "custom",
"backgroundColor": "#F3F5F9",
"app-plus":{
"popGesture": "none"
}
}

预期结果:
禁止侧滑

实际结果:
失效

bug描述:
ios 6 Plus 上 在page.json 上 设置 "popGesture": "none",侧滑失效,软件版本 12.5.4
怀疑所有手机的侧滑都失效

更多关于uni-app 禁止侧滑"popGesture": "none" 在 hbuilderx3.4.7 和 ios 12.5.4 系统上失效的实战教程也可以访问 https://www.itying.com/category-93-b0.html

12 回复

云打包生效

更多关于uni-app 禁止侧滑"popGesture": "none" 在 hbuilderx3.4.7 和 ios 12.5.4 系统上失效的实战教程也可以访问 https://www.itying.com/category-93-b0.html


啊, 好像没有啊,自定义基座 和 正式包,我都试了,3.3.13的可以生效,但是最先版本的没效果,还是可以滑动

回复 阿狸的祈祷: 兄弟,你解决了没

我的也是,以前好好的,更新到最新版就不行了

兄弟,你解决了这个问题没

pages.json style下"disableSwipeBack": true

3.4.6版本更新加的

回复 木钱:

回复 木钱: 有用!!!

回复 木钱: 有用!!!!!!!

回复 木钱: 这个API会有问题吧,IOS侧滑的时候会把整个小程序关掉的

uni-app 中,popGesture 属性用于控制页面是否允许侧滑返回。通常情况下,设置为 "none" 可以禁止侧滑返回功能。然而,在某些情况下,特别是在特定的 HBuilderX 版本和 iOS 系统版本上,可能会出现失效的情况。

以下是一些可能的解决方案和排查步骤:

1. 确认配置正确

确保在 pages.json 中正确配置了 popGesture 属性。例如:

{
  "pages": [
    {
      "path": "pages/index/index",
      "style": {
        "navigationBarTitleText": "首页",
        "popGesture": "none"
      }
    }
  ]
}

2. 检查 HBuilderX 版本

确保你使用的是最新版本的 HBuilderXHBuilderX 3.4.7 可能存在一些已知的 bug,建议升级到最新版本。

3. 检查 iOS 系统版本

iOS 12.5.4 是一个较旧的系统版本,可能存在一些兼容性问题。如果可能,尝试在更高版本的 iOS 系统上进行测试。

4. 使用自定义导航栏

如果 popGesture 属性失效,可以尝试使用自定义导航栏来替代系统导航栏,从而避免侧滑返回的问题。

5. 使用 onBackPress 生命周期

在页面中监听 onBackPress 生命周期,手动控制返回行为。例如:

export default {
  onBackPress() {
    // 禁止返回
    return true;
  }
}

6. 使用 uni.navigateBack 方法

在需要返回的地方,使用 uni.navigateBack 方法手动控制返回行为,而不是依赖系统的侧滑返回。

7. 检查其他插件或配置

确保没有其他插件或配置影响了 popGesture 的行为。例如,某些第三方插件可能会覆盖默认的导航行为。

8. 反馈给官方

如果以上方法都无法解决问题,建议将问题反馈给 uni-app 官方团队,提供详细的复现步骤和系统环境信息,以便他们进行进一步排查和修复。

示例代码

以下是一个完整的示例代码,展示如何在 pages.json 中配置 popGesture 属性:

{
  "pages": [
    {
      "path": "pages/index/index",
      "style": {
        "navigationBarTitleText": "首页",
        "popGesture": "none"
      }
    }
  ]
}

在页面中监听 onBackPress 生命周期:

export default {
  onBackPress() {
    // 禁止返回
    return true;
  }
}
回到顶部