uniapp横屏竖屏切换,退出首次再进入其它界面,元素样式放大问题解决

当从竖屏页面进入横屏,再返回竖屏时,页面样式会变乱。为解决此问题,可以在横屏返回时通过onBackPress监听事件跳转至空白页面,然后再跳转到目标页面,以避免样式错误。在横屏模式下,使用plus.screen.lockOrientation切换方向。
摘要由CSDN通过智能技术生成

问题:从竖屏页面1进入竖屏页面2,再进入横屏,然后返回竖屏页面2,重新回到竖屏页面1,再次进入竖屏页面2,会发现竖屏页面2的所有图片字体都被放大了。再返回竖屏1,再进入竖屏2,一切又恢复正常。

解决:其实就是横竖屏切换之后的 第一个加载的页面样式会错乱,所以需要一个空白的页面来承载这个样式错乱的问题。
在横屏页面返回时,监听onBackPress()使其跳转到一个空白的vue页面,这个空白的vue页面在跳转到自己想去的页面。

横屏界面代码:

onLoad(option) {
	// #ifdef APP-PLUS
		plus.screen.unlockOrientation();//解除屏幕方向的锁定,但是不一定是竖屏;
		plus.screen.lockOrientation('landscape-primary');
	// #endif
},
onUnload(){
	// #ifdef APP-PLUS
		plus.screen.lockOrientation('portrait-primary'); //锁死屏幕方向为竖屏
	// #endif
},
// 监听页面返回
onBackPress() {
    // 跳转至空白页
	uni.redirectTo({
	    url: 'page/white/white'
    });
    // 阻止界面返回默认操作, 这一步主要是为了防止界面出现异常,uniapp有对onBackPress的详细讲解
    return true;
},

空白页代码:

export default {
    name: 'White',
    data() {
      return {
        
      }
    },
    onLoad() {
      uni.navigateBack()
    },
    methods: {
      
    }
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值