获得过 0 次赞
回答过的问题获得 0 次赞
分享过的文章/案例获得 0 次赞
评论与回复获得 0 次赞
自己找到问题所在了,原因在于图片可能没有加载完成就去拿节点,导致节点信息数据有误,改为在去获取图片原始大小的api回调中再获取节点信息即可:示例如下 uni.getImageInfo({ src, success(res) { that.getScreenSize() } })
ios中,boundingClientRect获取节点信息时,模拟器与真机返回的数据不一样代码如下: 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获取的是图一中图片的大小区域
2020-11-09