时间:2019-05-03 来源:小程序工厂
我怎么在onResize里修改style.top没有效果?
我是在onResize里获取到高后, 再修改top, 想实现横幅底部对齐, 但是没有任何效果, 横幅并没有移位置的想法.
应该是可以,你再检查下代码
你也可以不在onResize里修改top,而是一开始创建banner的时候就给一个top,看看有没有效果
我创建banner时已经按最高banner高度计算一个top了, 是有效果的, 在banner较矮时, banner下方到屏幕底部就会有一小段距离, 这时我想按实际高度重新计算一个top, 但是设置没有效果.
线上已经就这么地了, 不过你实践有效果, 那我再检查下代码吧
哈,谢谢, 确实有效果, 不过以前的代码已经删掉了, 也不知道哪里弄错了.
你的问题, 你可以设置一个flag, 让每次创建banner后修改style的操作只执行一次就应该可以了
谢谢,我们的问题不是一个简单的flag可以搞定的(捂脸),正在跟腾讯官方一起查找问题。
请问是不是在 BannerAd.onResize 里修改了 BannerAd 的 style ?
感谢回复,确实修改了style的left和top,目的是为了让广告居中,但是并没有修改width和height呀,代码大致如下:
ads.setPosition ((this.physicH - ads_w)/2 , this.physicH - ads_h)
修改left和top是合理的吧
可以确认一下封装的 ads.setPosition() 内的逻辑是否有触发 style.width 和 style.height 的修改。
以及广告组件所在的基础库是针对 6.6.6 下发的。6.6.5 的客户端不能调用广告组件的接口,确认一下是否新版本还做了其他改动,导致了 Maximum call stack size exceeded 的问题。
1,很确定,setPosition只修改了left和top, 丝毫 不涉及到width和height的部分,如下
setPosition ( x , y ){
if ( !this . _instance )
return
//
this . _instance . style . left = x
this . _instance . style . top = y
}
2,按照教程,广告组件是在基础库2.0.4开始有的,已经做了SDKVersion >= 2.0.4(伪代码)的判断处理,而且这个错误在更新版本之前并没有出现。
3,该版本唯一的修改为:将原来版本里banner广告的宽度调整为教程里要求的最小值:300,并左右居中(大致代码参见上一次回复)。除此之外并无任何修改。
4,经过这几天的大量测试和观察,似乎这个错误提示并没有影响游戏的使用。我们自己尽可能的找了各种不同的设备和不同版本的微信测试,都没有发现有实质性的bug(比如卡死,栈溢出的直接表现)出现。
5,但是,这个报错仍然在渊源不断过来,每天都快10000条了,我们很紧张。
6,我们考虑过使用回退版本的功能,回退到上一个可用的版本。但是这次版本之所以修改的广告尺寸,是因为上一个版本,在部分设备上广告太大,遮挡了游戏元素,严重影响了游戏的操控。