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
云打包生效
更多关于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版本更新加的
回复 木钱:
回复 木钱: 有用!!!
回复 木钱: 有用!!!!!!!
在 uni-app
中,popGesture
属性用于控制页面是否允许侧滑返回。通常情况下,设置为 "none"
可以禁止侧滑返回功能。然而,在某些情况下,特别是在特定的 HBuilderX
版本和 iOS
系统版本上,可能会出现失效的情况。
以下是一些可能的解决方案和排查步骤:
1. 确认配置正确
确保在 pages.json
中正确配置了 popGesture
属性。例如:
{
"pages": [
{
"path": "pages/index/index",
"style": {
"navigationBarTitleText": "首页",
"popGesture": "none"
}
}
]
}
2. 检查 HBuilderX 版本
确保你使用的是最新版本的 HBuilderX
。HBuilderX 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;
}
}