zoukankan      html  css  js  c++  java
  • 【COCOS2DX-游戏开发之三四】cocos2dx 3.0 TableView特殊使用方法:滚动时不能选择等等

    cocos2dx 3.0版本号TableView拍生自ScrollView,经常使用来做滚动列表,有几种特殊使用方法,不知道大家用到过没


    要求:1.滚动时不能选中TableCell,非滚动状态才干选中

    非常easy,在TableView的delegate函数中,通过isTouchMoved()函数来推断

    void WeaponSelectLayer::tableCellUnhighlight(cocos2d::extension::TableView* table, cocos2d::extension::TableViewCell* cell)
    {
        if (table->isTouchMoved()) {
            return;
        }
        
        //TODO:Select item.
    }



    要求2:拖拽到边缘没有选项时,TableView不能再被拖拽


    void WeaponSelectLayer::scrollViewDidScroll(cocos2d::extension::ScrollView* view)
    {
        Point off = view->getContentOffset();
        if (off.y < view->minContainerOffset().y) {
            view->setContentOffset(Point(off.x, view->minContainerOffset().y));
        }
        
        if (off.y > view->maxContainerOffset().y) {
            view->setContentOffset(Point(off.x, view->maxContainerOffset().y));
        }
    }

    这样的方法有个BUG, 当你提供的TableCell不能填充满整个TableVIew的时候,会出现递归死循环,可是保证能填充满整个TableView的时候,整个方法还是能够的,假设大家有更好的办法,洗耳恭听


  • 相关阅读:
    vue 遇到的问题
    vue webpack添加jQuery
    如何将在线电子书保存为pdf格式
    swagger 支持动态host和basePath
    本地chrome调试服务器node
    滚动页面一定距离后固定导航条
    发布-订阅模式
    react生命周期
    redux
    原型及继承
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4466323.html
Copyright © 2011-2022 走看看