uni-app 页面强制横屏后,使用uni.previewImage会先竖屏然后再横屏放大图片
uni-app 页面强制横屏后,使用uni.previewImage会先竖屏然后再横屏放大图片
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Mac | MacBook Pro (Retina, 15-inch, Mid 2015) | HBuilderX |
示例代码:
onLoad(option){
// #ifdef APP-PLUS
plus.screen.lockOrientation('landscape-primary');
// #endif
},
methods: {
preview(index){
uni.previewImage({
urls:this.list,
current:index,
})
},
}
操作步骤:
onLoad(option){
// #ifdef APP-PLUS
plus.screen.lockOrientation('landscape-primary');
// #endif
},
methods: {
preview(index){
uni.previewImage({
urls:this.list,
current:index,
})
},
}
预期结果:
横屏 preview Image
实际结果:
先竖屏,后横屏
更多关于uni-app 页面强制横屏后,使用uni.previewImage会先竖屏然后再横屏放大图片的实战教程也可以访问 https://www.itying.com/category-93-b0.html
3 回复
没有人管么
更多关于uni-app 页面强制横屏后,使用uni.previewImage会先竖屏然后再横屏放大图片的实战教程也可以访问 https://www.itying.com/category-93-b0.html
收到 我们尝试复现一下
这是一个已知的 uni-app 在 App 平台上的兼容性问题。uni.previewImage 在调用时会触发系统相册组件,该组件会短暂重置屏幕方向,导致出现先竖屏再横屏的闪烁现象。
解决方案:
-
使用条件编译锁定方向
在onShow生命周期中重新锁定横屏,确保预览器退出后恢复横屏:onShow() { // #ifdef APP-PLUS plus.screen.lockOrientation('landscape-primary'); // #endif } -
使用原生图片预览替代方案
如果追求体验一致性,可改用plus.nativeUI.previewImage(需注意 API 差异):// #ifdef APP-PLUS plus.nativeUI.previewImage(this.list, { current: index }); // #endif

