uni-app IOS左滑返回禁不掉

uni-app IOS左滑返回禁不掉

开发环境 版本号 项目创建方式
Windows 10 专业版 HBuilderX

操作步骤:

  • IOS手机,App项目, 页面左滑

预期结果:

  • IOS左滑返回可以被禁掉

实际结果:

  • IOS左滑返回禁不掉

bug描述:

  • IOS左滑返回禁不掉,
  • 在pages.json中有配置"popGesture": “none”,
  • 在onLoad里也有动态设置,但是都不生效
onLoad(() => {  
  const wv = plus.webview.currentWebview();  
  wv.setStyle({ popGesture: "none" });  
});

更多关于uni-app IOS左滑返回禁不掉的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

在maifest.json里面配置 示例文档

更多关于uni-app IOS左滑返回禁不掉的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在 uni-app 中,禁用 iOS 的左滑返回手势(即边缘滑动返回)可以通过以下几种方式来实现:

1. 全局禁用左滑返回

pages.json 中,可以通过设置 navigationStylecustom 来禁用全局的左滑返回手势。具体配置如下:

{
  "pages": [
    {
      "path": "pages/index/index",
      "style": {
        "navigationStyle": "custom"
      }
    }
  ]
}

这种方式的缺点是会完全隐藏导航栏,需要自己实现自定义的导航栏。

2. 单页禁用左滑返回

如果你只想在某个特定页面禁用左滑返回手势,可以在该页面的 onLoad 生命周期中调用 uni.setNavigationBarTitle 或其他方法来触发导航栏的更新,从而禁用左滑返回。

onLoad() {
  uni.setNavigationBarTitle({
    title: '页面标题'
  });
}

这种方法的效果可能因平台或版本而异,并不是非常可靠。

3. 使用原生插件

如果需要更精确地控制左滑返回手势,可以考虑使用原生插件来实现。uni-app 支持原生插件的集成,你可以编写原生代码来禁用左滑返回手势。

4. 使用 disableSwipeBack 配置

pages.json 中,可以通过 disableSwipeBack 属性来禁用特定页面的左滑返回手势:

{
  "pages": [
    {
      "path": "pages/index/index",
      "style": {
        "disableSwipeBack": true
      }
    }
  ]
}

这种方式在部分版本中可能有效,但并不是所有版本都支持。

5. 使用 onBackPress 生命周期

在页面的 onBackPress 生命周期中,你可以监听返回事件,并阻止默认的返回行为:

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

这种方式可以阻止用户通过物理返回按钮或手势返回,但并不能完全禁用左滑返回手势。

6. 使用 popGesture 配置

pages.json 中,可以通过 popGesture 属性来禁用特定页面的左滑返回手势:

{
  "pages": [
    {
      "path": "pages/index/index",
      "style": {
        "popGesture": "none"
      }
    }
  ]
}
回到顶部