wx.setDeviceOrientation({
value: isPortrait ? 'landscape' : 'portrait',
success: () => {
console.log(`wx.setDeviceOrientation success`);
},
fail: () => {
console.log(`wx.setDeviceOrientation fail`);
},
complete: () => {
isPortrait = !isPortrait;
let sysInfo = wx.getSystemInfoSync();
databus.info = `width:${sysInfo.screenWidth} height:${sysInfo.screenHeight}`
console.log(`wx.setDeviceOrientation complete isPortrait:${isPortrait} ${databus.info}`);
}
})
由于项目需要同时适配横竖两种显示,所以需要代码主动调用横竖屏切换,用的是wx.setDeviceOrientation接口,在安卓、模拟器上一切正常,但是在IOS上调用两次切换后,之后wx.getSystemInfo()返回的宽高不会再改变,但是胶囊栏的位置是有正确切换的,导致游戏内无法正确适配显示宽高的改变。
补上log截图