首页 > 代码库 > cocos2dx 开发成长之路 005
cocos2dx 开发成长之路 005
cocos2dx 3.0版本TableView拍生自ScrollView,常用来做滚动列表,有几种特殊用法,不知道大家用到过没
要求:1.滚动时不能选中TableCell,非滚动状态才能选中
很简单,在TableView的delegate函数中,通过isTouchMoved()函数来判断
[cpp] view plaincopy
- void WeaponSelectLayer::tableCellUnhighlight(cocos2d::extension::TableView* table, cocos2d::extension::TableViewCell* cell)
- {
- if (table->isTouchMoved()) {
- return;
- }
- //TODO:Select item.
- }
要求2:拖拽到边缘没有选项时,TableView不能再被拖拽
[cpp] view plaincopy
- 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的时候,整个方法还是可以的,如果大家有更好的办法,洗耳恭听
cocos2dx 开发成长之路 005
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。