代码如下:
const that = this
const query = uni.createSelectorQuery()
query.select('#screen').boundingClientRect()
query.exec(function(res) {
const { width, height } = res[0]
console.log(res)
that.screenSize = {
screenWidth: width,
screenHeight: height
}
}
模拟器中打印如下:
iPhone6真机(iPhonex等机型也与模拟器返回数据存在很大误差)打印如下:
安卓机型不会出现类似情况
补充信息:这是在横屏模式下,screen获取的是图一中图片的大小区域
以真机为准。
自己找到问题所在了,原因在于图片可能没有加载完成就去拿节点,导致节点信息数据有误,改为在去获取图片原始大小的api回调中再获取节点信息即可:示例如下