加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2dx中的时序问题的分析

发布时间:2020-12-14 16:42:33 所属栏目:百科 来源:网络整理
导读:今天遇到一个问题,对于UIListView,在初始化(pushBackCustomItem)之后,如果立即操作的话,由于原件并未重新布局,因此会导致一些奇奇怪怪的问题。查看代码之后,发现doLayout和forceDoLayout可以实现重新布局,而调用者是visit函数。 于是乎,在初始化List

今天遇到一个问题,对于UIListView,在初始化(pushBackCustomItem)之后,如果立即操作的话,由于原件并未重新布局,因此会导致一些奇奇怪怪的问题。查看代码之后,发现doLayout和forceDoLayout可以实现重新布局,而调用者是visit函数。

于是乎,在初始化ListView之后,立即使用visit,再进行listView的操作,就不会出现问题了。不过有一点需要注意的是:在OnEnter的时候,也会调用visit,也就是说实际上visit不止一次。如果第一次visit和第二次visit得到的结果一样,即都是正确的结果的话,那就没有什么问题。否则在手动visit之后,得到的是错误结果,那手动调用这个visit就没有什么用。另外一个问题是,在visit之后,如果进行同步操作,没啥问题。如果进行延时操作,如果在延时结束之前,进行了ListView的items的改变,那会重新DoLayout,一些参数会改变,那接下来的延时操作会偏离原来的设定,出现问题。

如果visit不可用的话,那就必须提供一个通知完全加载(即visit)之后的一个回调,通知可以进行下一步操作,否则就根本不可能做到在加载重新计算完成后做一些操作这样的时序。然后并没有这样的回调,所以只能用visit。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读