【已解决】关于PageView组件的一点问题

当PageView组件的vertical属性设为false后,怎么用代码控制翻页?,没设为false之前可以用scrollToPage控制翻页,设为false之后就不行了,这时要怎么用代码控制翻页吗?

你还要手动改content的大小,变成水平比view宽,并且把每个page的y值修改到和view水平,不然只改vertical,是一个水平一页,垂直多页的结构,当然是水平不能翻页了

sorry,水平垂直说反了,默认是个水平多页垂直一页的

不是,我这些东西都改成垂直的了,垂直可以滑动翻页,用scrollToPage也可以控制翻页,但把this.ePageView.vertical = false后用scrollToPage控制翻页就没有反应了

我想要的效果就是取消滑动翻页然后用代码控制翻页,但现在滑动取消了,用scrollToPage不能翻页了

你看PageView的api里面的介绍
https://docs.cocos.com/creator/2.2/api/zh/classes/PageView.html#vertical
horizontal Boolean 是否开启水平滚动。
vertical Boolean 是否开启垂直滚动。

这个有看了,就是关闭了垂直滚动后,滑动翻页取消了,用代码也不能翻页了吗?

滚动是不行的

想把滑动取消用代码控制翻页该怎么做吗?

都没有人遇到这个问题的吗:joy:

我也不知道有什么好的方法
我是新添加了一个node放到PageView上面,添加touch事件来屏蔽滚动,不需要的时候在去掉这个node

这个方法我是不行的,我的page上有按钮事件

官方不考虑下在这个组件上加个取消滑动翻页但代码还可以控制滚动翻页么,现在把horizontal和vertical设为false后用scrollToPage都没有翻页了

这样屏蔽掉pageview触摸事件,那pageview上page中的按钮事件也不能响应了吧

老哥,我上次误会你的意思了。今天重新看了下代码,可以取消监听来取消滑动翻页,亲测没有问题


回复完才看到已解决,不知道你是不是有更好的解决办法

嗯嗯,我也是这样做的,之前是把这块代码放在onload里面没响应,以为这种方法不行,后面放到start里面就可以了

用这种方法是可以取消监听的 但是pageview的子节点上的触摸事件触发之后 pageView又可以触摸了
老哥知道怎么解决么
尝试过将pageview的enable设置为false 当子节点的触摸事件触发之后 pageView 的enable又为true了
求问 有没有解决的方法

有时间上个demo吧

搞定了 需要的时候将pageView的vertical竖直滑动打开 不需要的时候将这个东西关掉

image