关于pageView动态创建滑动问题

  • Creator 版本:1.9.3

  • 目标平台: web

  • 详细报错信息,包含调用堆栈:无报错

  • 重现方式:只需要动态创建pageview里的page即会出现

=============正式======================
~~1.
我的界面

这里这个pageView隐藏掉是为了模拟创建预制体,正式项目是点开按钮,才创建出pageView;
代码如下:


点击按钮时,不会跳转pageView。

~~2
亲测,当我场景中


pageView已存在,而去动态创建page

用button控制pageView切换页面可生效。

~~3
请问,当pageView动态创建,根据配置去创建page,再用按钮点击事件切换pageView页面的时候,怎么实现,是我实现的方式有问题还是?求大神解答

demo:Ne123.rar (229.3 KB)

@官方

@337031709

一大堆啥了,pageView添加新页用addPage()添加,具体看api,不是直接给节点addChild

1赞

楼上正解,添加pageview的页面需要参考使用
pageViewAPI
pageview范例

感谢~学到了,看API要仔细

当我addPage创建完page时,想立马执行this.node_pageView.scrollToPage(this._page, 0.3)时,失效,
找了个方法,是
this.scheduleOnce(()=>{
this.node_pageView.scrollToPage(this._page, 0.3);
}, 0);
这样就可以实现效果,
这是什么原理呢?

那是因为addPage之后,引擎并不会马上更新pageview的布局,为了提高性能,需要等到本帧结束才会更新,scheduleOnce也就是从下一帧开始计时,所以就实现效果了,如果要立马使用scrollToPage,可以调用一个类似doLayoot的方法强制更新pageview布局。