【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的时候,整个方法还是能够的,假设大家有更好的办法,洗耳恭听


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值