大家好
我用的是最新的 cocos2dx 3.13.1
我需要做一个横向分页滚动的列表
因为数据量很大 所以pageview不太适合 需要一个一个加入page,
我感觉tableview的功能和模式是最适合的
最近考虑让这个分页可以逐页移动,
而且从体验上讲我不想取消惯性,所以无法依靠手指触摸来判断滑动是否停止
所以现在问题是无法获得滚动停止事件
导致我无法在滚动条滑动一段事件后, 对齐页面
请问有没有什么更好的解决方案或者如何获取停止事件?
大家好
我用的是最新的 cocos2dx 3.13.1
我需要做一个横向分页滚动的列表
因为数据量很大 所以pageview不太适合 需要一个一个加入page,
我感觉tableview的功能和模式是最适合的
最近考虑让这个分页可以逐页移动,
而且从体验上讲我不想取消惯性,所以无法依靠手指触摸来判断滑动是否停止
所以现在问题是无法获得滚动停止事件
导致我无法在滚动条滑动一段事件后, 对齐页面
请问有没有什么更好的解决方案或者如何获取停止事件?
而且我刚才翻源码发现一个很有趣的现象
tableview有一个 reload
pageview和listview貌似都没有?
pageview和listview是完全把数据管理交给了用户啊…
而且貌似pageview的监听事件里是没有前翻或者后翻的…
老哥解决了吗
?
/// 动态更新可视数据
///
/// ScrollView::onEnter触发
/// - scheduleUpdate();
void ListBox::update(float dt){
ScrollView::update(dt);
if(!isScrolling() && !isAutoScrolling()){ return; }//没有滚动,减少计算
/**
* Scrollview scroll event type.
*/
enum class EventType
{
SCROLL_TO_TOP,
SCROLL_TO_BOTTOM,
SCROLL_TO_LEFT,
SCROLL_TO_RIGHT,
SCROLLING,
BOUNCE_TOP,
BOUNCE_BOTTOM,
BOUNCE_LEFT,
BOUNCE_RIGHT,
CONTAINER_MOVED,
SCROLLING_BEGAN,
SCROLLING_ENDED,
AUTOSCROLL_ENDED
};
/**
* A callback which would be called when a ScrollView is scrolling.
*/
typedef std::function<void(Ref*, EventType)> ccScrollViewCallback;
/**
* Add callback function which will be called when scrollview event triggered.
* @param callback A callback function with type of `ccScrollViewCallback`.
*/
virtual void addEventListener(const ccScrollViewCallback& callback);