9***@qq.com
9***@qq.com
  • 发布:2020-11-27 11:54
  • 更新:2024-03-11 18:59
  • 阅读:1324

关于upx单位,旋转为横屏,再返回,在进入新页面,这个页面样式错乱的问题

分类:uni-app

我是使用了setTimeout 延迟1500毫秒后,目前观测可以解决该问题

setTimeout(function() {  
    plus.screen.lockOrientation("landscape-primary");  
    dosomething.....  
}, 1500)

我看别人解决方法是横屏页返回后先跳转到一个空白页在立即返回,也可解决

监听从横屏页返回后, 我跳转到一个空白页D, 空白页D在返回, 类似一个中转, 手动制造一次重进的操作
即 A -> B(横屏) -> A -> D(横屏B返回A后立即跳转空白页D,在返回A) -> A -> C (此时页面正常), 跳转空白页从肉眼看无感知

0 关注 分享

要回复文章请先登录注册

DCloud_UNI_HRK

DCloud_UNI_HRK

回复 h***@163.com :
确实是这样,当初设计的时候没考虑到这种情况,目前rpx 不支持动态横竖屏切换计算,因为rpx跟手机宽度挂钩,暂时先锁定屏幕方向吧,后续若有了解决方案会在此更新
2024-03-11 18:59
h***@163.com

h***@163.com

回复 DCloud_UNI_HRK :
必须重新退出app,以竖屏的方向进入才能恢复,不然关闭手机系统的竖屏锁定,横屏进入,怎么弄都是无法恢复了
2024-03-11 17:45
h***@163.com

h***@163.com

回复 DCloud_UNI_HRK :
只要你是横屏进入app,哪怕使用空白页面跳转,或者延时等待的方法统统不行,因为你如果要想某个页面变成横屏,那你设置里必须把竖屏和横屏的设置同时写上,但这样的话,你如果是锁定手机方向进入app,就不会出现问题,但你关闭手机系统的竖屏锁定,就会自动判断你是什么状态进入app的,如果是横屏进入,直接就让初始值变成横屏的宽高,导致渲染机制出错,你哪怕手动改变屏幕方向,锁死,也是无法恢复
2024-03-11 17:43
h***@163.com

h***@163.com

回复 DCloud_UNI_HRK :
是的,比如你设置了"screenOrientation" : [ "portrait-primary", "landscape-primary" ],然后我手机关闭了屏幕方向锁定,横屏状态下点击app,进入后,页面变成横屏,tabBar都是nvue页面,导致一进入app样式就错乱了,使用 plus.screen.lockOrientation('portrait-primary');锁死屏幕,也是不行,使用uni.getSystemInfoSync()可以得知,哪怕我的屏幕状态从进入app的横屏改变为竖屏后,获取的机型宽高还是横屏的宽高,所以这个问题还是无法解决
2024-03-11 17:36
DCloud_UNI_HRK

DCloud_UNI_HRK

回复 h***@163.com :
upx现已废弃,使用rpx还会复现该问题吗?
2024-03-11 17:28
h***@163.com

h***@163.com

2024年了,这个问题还是没有解决
2024-03-08 13:59
1***@qq.com

1***@qq.com

回复 圣名科技 :
我等待了2000也没用
2023-05-08 14:42
圣名科技

圣名科技

用了延迟,确实是可以解决,但是这个1500ms,每次横屏都要等待,这个没法跟客户说
2021-09-24 13:47
d***@d-heaven.com

d***@d-heaven.com

我也遇到这个问题了。你解决了吗?
2020-12-24 14:10