详细问题描述
用uniapp开发app, 大多数页面是竖屏的,其中有一个页面是横屏的,当切换到横屏以后,退回上一页,用screen.lockOrientation("portrait"),可以切换竖屏,这时侯是没有问题的。如果再back一层,这时也还没有问题,从这一层点回任意一个竖屏的页面,就会出问题,布局完全乱了,
[内容]
重现步骤
[步骤]
- 生成a,b,c 3个页面,在manifest.json文件增加
"orientation" : [ "portrait-primary", "landscape-primary", "portrait-secondary", "landscape-secondary" ],
2.在a,b页面的onShow增加以下代码,进行锁屏为竖屏:
```javascript
onShow: function () {
plus.screen.unlockOrientation();
plus.screen.lockOrientation('portrait-primary');
console.log(uni.getSystemInfoSync())
},
- c页面的onShow增加以下代码,进行锁屏到横屏:
onShow: function () {
plus.screen.unlockOrientation();
plus.screen.lockOrientation('landscape-primary');
},
- 运行到ios
- 执行一下的操作:
- a->b->c,现在是横屏
- c navigateBack to b,现在返回竖屏,布局也没有问题
- b navigateBack to a 现在还是没有问题
- a->b 现在布局是乱的,虽然是竖屏但是布局的时候windowWidowWith用的是横屏时候的值,所以布局出来会很大。
[如果语言难以表述清晰,拍一个视频或截图,有图有真相]
请看附件视频
IDE运行环境说明
[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]
[IDE版本号]
2.4.1.20191114
[mac版本号]
10.15 (19A603)
uni-app运行环境说明
[运行端是h5或app或某个小程序?]
运行端是app
[运行端版本号]
ios 12.4.1
[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]
是HBuilderX创建的
[编译模式是老模板模式还是新的自定义组件模式?]
自定义组件模式
App运行环境说明
[Android版本号]
android没有测试
[iOS版本号]
ios 12.4.1
[手机型号]
iphoneX
[模拟器型号]
模拟器没有测试
附件
[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]
[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]
[App安装包或H5地址]
[可重现代码片段]
联系方式
[QQ]