HealerLZH
HealerLZH
  • 发布:2020-03-23 10:54
  • 更新:2020-05-28 15:22
  • 阅读:1572

【报Bug】V3编译——uniapp单个页面横屏之后,页面出现异常

分类:uni-app

详细问题描述

因为竖屏宽度较小,app常有要求特定页面横屏,用于展示某些特定内容。例如图表,表格等,,,
以下是设定页面方向后出现的问题
onLoad() {
// #ifdef APP-PLUS
plus.screen.lockOrientation('landscape-primary');
// #endif
},
onUnload() {
// #ifdef APP-PLUS
plus.screen.lockOrientation('portrait-primary');
// #endif
},
1、初次进入横屏页面,显示正常,返回再次进入,页面内容放大。并且没有全屏,露出上一页内容。

2、初次进入横屏页面,显示正常,返回,进入其他页面(竖屏),页面内容放大

[期望]

期望,页面内容不放大。

IDE运行环境说明

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]
2.6.5

联系方式

704599298@qq.com

[QQ]

2020-03-23 10:54 负责人:无 分享
已邀请:
w***@163.com

w***@163.com - we

强制横屏恢复竖屏后,再次且第一次进入另一个页面时,页面所有的元素都放大了,这个问题一直在关注,经过无数次的爬坑和测试,总结出解决方法如下:
如果是非V3模式编译,安卓正常、ios出问题。解决:进入需要横屏的页面时,不要onload就横屏,写个定时器延迟500ms再用

plus.screen.lockOrientation('landscape-primary');

横屏,最近更新到v3模式,安卓出问题,ios正常,这很奇怪。定时器延迟500ms不管用了,解决:定时器延时1200ms。
吐血实测有效。

  • HealerLZH (作者)

    情况一模一样,终于有人了解我的苦

    2020-04-08 16:18

HealerLZH

HealerLZH (作者)

案例

HealerLZH

HealerLZH (作者)

使用自定义组件编译不会

DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

建议延迟一会再锁定横屏,另外会旋转的页面根节点可以设置一个px作单位的字体,且不要在这个页面使用rpx作为单位。你的项目我试了在自定义组件模式也是有问题的

  • 1***@qq.com

    不开启v3就没事,开了v3切换横屏,完了成为竖屏,点击下一个页面,字体放大!!

    2020-04-07 14:33

小闫

小闫

请问问题解决了没,最后怎么解决的,求大佬告知,上面的方法都试了,还是会出现问题,延时1200也不管用,第二次切换还是会变大

  • HealerLZH (作者)

    以上方法自定义组件模式有效,v3不行。

    2020-05-28 16:38

  • HealerLZH (作者)

    横屏的问题你可以查一下社区,很早就有人问了。解决办法就是那些。但是现在砍掉了自定义组件模式,就得再摸索方法了。官方好像也没给解决办法。

    2020-05-28 16:41

  • DCloud_uniCloud_WYQ

    回复 HealerLZH: 现在你那边用最新的HBuilderX运行你发的这个demo还会出之前那个问题吗

    2020-06-01 16:22

  • HealerLZH (作者)

    回复 DCloud_uniCloud_WYQ: 按你说的,我下载了demo在最新的HBX上运行没发现太大问题,偶然一次横屏还是竖屏的宽度,但后面没能复现出来。

    然后我打开了原先的项目编译还是有放大的情况,我怀疑是配置里是否影响,发现了开启了自定义组件编译(虽然停用,但是不知道是否有影响。)于是我删掉了该代码。未能解决问题。同样第一次横屏正常,后面打开其他的页面,就放大。可能是我项目代码有问题,但是您可以看到,上面4天前还有人在寻找问题的解决办法。所以我认为该问题在新项目中依然存在。希望官方分配人手解决,感谢。一些图表,表格,使用横屏显示还是有需求的。

    问题可能不那么简单,希望您们能够上心,着力攻坚。

    感谢数字天堂以及众多UNI开发维护人员。致谢

    2020-06-01 17:10

该问题目前已经被锁定, 无法添加新回复