花了很久时间找一个bug,我使用UI编辑器定义了ListView,现在需要获取ListView中某个Item的上按钮的世界坐标。
Widget确实直接提供了一个方法,getWorldPosition,但是发现结果完全不正确。
经过研究发现,ListView即使onEnter之后,innerContainer的size并没有更新,直到visit的时候,才会调用refreshView刷新innerContainer的大小。
也就是必须自己调用一次refreshView,然后再调用getWorldPosition才可以获取到正确的屏幕坐标。