加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

【COCOS2DX-游戏开发之三四】cocos2dx 3.0 TableView特殊用法:滚

发布时间:2020-12-14 19:10:46 所属栏目:百科 来源:网络整理
导读:cocos2dx 3.0版本TableView拍生自ScrollView,常用来做滚动列表,有几种特殊用法,不知道大家用到过没 要求: 1.滚动时不能选中TableCell,非滚动状态才能选中 很简单,在TableView的delegate函数中,通过isTouchMoved()函数来判断 void WeaponSelectLayer::t

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

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

很简单,在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的时候,整个方法还是可以的,如果大家有更好的办法,洗耳恭听

原文:http://www.tuicool.com/articles/yy26jm
原文 http://www.52php.cn/article/p-mfnsxfmp-xy.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读