TableView怎么让它不滚动

显示玩家手上的牌(如斗地主),我使用的TableView进行显示,要求可以点击出牌,但不能让它滚动,如何做?
是要求tableview显示的牌不能滚动?
注:
setBounceable这个函数我已经测试过了,这个只是没有滚动时的效果而已,但他仍把tableview的内容移动了移位

我使用的是cocos2d-x3.4,这个什么版本不重要,重要的是我需要知道方法?!请帮助,谢谢!

setDirection()的值设为cc.SCROLLVIEW_DIRECTION_NONE?

setTouchEnabled(false);

setTouchEnabled(false)这个函数是让tableview失去touch事件,这样子也就不能点击了!!

tableView->setDirection(ScrollView::Direction::NONE);
测试结果:这样子可以向任何方向意动了!!

额,可能这里引擎的源码也有问题。
从字面上理解的话,cc.SCROLLVIEW_DIRECTION_BOTH才应该是任意方向移动

cocos有两个ScrollView,一个是cc.ScrollView,另一个是ccui.ScrollView(TableView是继承自cc.ScrollView的,它自己本身貌似没有setDirection方法).我没用过cc的,但是ccui的ScrollView源码中setDirection方法对NONE这块写的是有问题的,需要修改一下。

目前看来cc中的scrollView应该也是有点问题,但是我不知道它的源码怎么改,因为它的源码中对direction的设置跟ccui的不一样(当然也有可能是我找的地方不对,毕竟我不会C++……)如果你对C++比较熟悉的话可以自己看一下

感谢了,你能提供个思路就已经够了,我空了去看一看底层!

恩,个人初步无责任猜测UIScrollView.cpp中的ScrollView::interceptTouchEvent中的

case TouchEventType::MOVED:
        {
            _touchMovePosition = touch->getLocation();
            // calculates move offset in points
            float offsetInInch = 0;
            switch (_direction)
            {
                case Direction::HORIZONTAL:
                    offsetInInch = convertDistanceFromPointToInch(Vec2(fabs(sender->getTouchBeganPosition().x - touchPoint.x), 0));
                    break;
                case Direction::VERTICAL:
                    offsetInInch = convertDistanceFromPointToInch(Vec2(0, fabs(sender->getTouchBeganPosition().y - touchPoint.y)));
                    break;
                case Direction::BOTH:
                    offsetInInch = convertDistanceFromPointToInch(sender->getTouchBeganPosition() - touchPoint);
                    break;
                default:
                       //----------这里是不是应该直接return出去?
                    break;
            }
            if (offsetInInch > _childFocusCancelOffsetInInch)
            {
                sender->setHighlighted(false);
                handleMoveLogic(touch);
            }
        }

PS:我是用-js的,貌似不仅cpp有问题,js层特喵的也只if了垂直和水平,另外两种情况就直接else了……:12:

我还是自己来公布答案吧:
程序中没有现成的函数来实现此功能!自己在底层写一个简单的条件判断函数即可!
我的方法是在CCTableView.h中TableView类中,自己加入一个函数
void setMoved(bool flag){ _isMoved = flag; }
然后在
void TableView::onTouchMoved(Touch *pTouch, Event *pEvent)
{
if (!_isMoved)
{
return;
}

…………
}
中做判断!
程序中实现tableview的时候,把setMoved()设置为false即可!

那你为什么要用tableview啊?