首页 > 代码库 > cocos2dx ScrollView不影响滑动,取消弹性小技巧

cocos2dx ScrollView不影响滑动,取消弹性小技巧

有时候需要用到ScrollView 但是又不想有那烦人的弹性效果,自然会想到setBounds(false),可是实践过后会发现,这个函数把滑动惯性也给取消了,于是就是你滑多少,滚动多少,用户体验极差。。。
解决这个方法很简单:
1. 继承ScrollViewDelegate
2. 实现虚函数

    virtual void scrollViewDidScroll(ScrollView* view);

然后函数实现如下

void EquipShopItemLayer::scrollViewDidScroll(ScrollView* view)
{
    auto layout = view -> getContainer();
    float currentY = layout -> getPositionY();

    if (currentY > 0) {
       view -> setContentOffset(Vec2(0, 0));
     }
     if (-currentY > layout -> getContentSize().height - view -> getViewSize().height)      {
         view -> setContentOffset(Vec2(0, -layout -> getContentSize().height + view -> getViewSize().height));
    }

}

欢迎访问我的博客:helkyle.tk

cocos2dx ScrollView不影响滑动,取消弹性小技巧