问题描述:
微信wx.getSystemInfoSync()或wx.getSystemInfo() 在执行横屏处理后,宽度和高度在真机上错误. 但在模拟器中显示正常.
sysInfo.windowHeight 参数正常获取数据信息具体如下(参看注释代码区域):
- 模拟器:
- 真机效果:(显示异常)
sysInfo.windowHeight 调整为sysInfo.windowWidth 参数后效果
- 模拟器
- 真机(横屏显示正常)
总结:模拟器在屏幕横屏状态获取的 wx.getSystemInfoSync() 或 wx.getSystemInfo() 宽度 高度完全正确, 但是在真机上面横屏的尺寸成了竖屏的尺寸,在设置横屏参数后没有更新实际尺寸参数对象.
应官方要求出bug dome:
https://developers.weixin.qq.com/s/6ApQpBmA77jA
------------------------------------------------------------------------------------------------------------------------------------------
最新dome:
https://developers.weixin.qq.com/s/9ri9YIme7Wji
演示异常数据信息:
模拟器主页面:
模拟器子页面:
真机主页面:
真机子页面:
说明,模拟器中的尺寸正确没有问题,问题是我真机上尺寸怎么成反的了, what ? 如果模拟器上和真机一致我没啥说的,可就成了不一样. 难道我特殊吗???????
麻烦提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
试一下这样用看看哈。看能解决问题不。
import PU from "../../utils/public";
const app = getApp();
Page({
data: {
// width: PU.getWidth(),
// height: PU.getHeight(),
// model: PU.getModel()
width: 0,
height: 0,
model: PU.getModel()
},
onLoad: function () {
console.log('代码片段是一种迷你、可分享的小程序或小游戏项目,可用于分享小程序和小游戏的开发经验、展示组件和 API 的使用、复现开发问题和 Bug 等。可点击以下链接查看代码片段的详细文档:')
console.log('https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/devtools.html')
var that = this;
//延时获取数据
setTimeout(() => {
//异步
// wx.getSystemInfo({
// success: (option) => {
// //console.info(option);
// that.setData({
// width: option.windowWidth,
// height: option.windowHeight
// });
// },
// });
//同步
var option = wx.getSystemInfoSync();
that.setData({
width: option.windowWidth,
height: option.windowHeight
});
}, 500);
},
})
我也遇到同样的问题,在用webview时,获取了屏幕高度和宽度。模拟器显示没问题,真机预览时高度和宽度相反显示??这是什么问题?