您的位置:首页 > 移动开发 > Cocos引擎

【COCOS2DX-游戏开发之三四】cocos2dx 3.0 TableView特殊用法:滚动时不能选择等等

2014-05-25 19:15 375 查看
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的时候,整个方法还是可以的,如果大家有更好的办法,洗耳恭听
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐