我弄了一个小DEMO,如下图

点击面板以外(黑色区域),面板就会关闭,
但是,如果我在面板内添加一个CCTableView/CCScrollView,如下图

点击面板外(任何一个位置)就不能关闭面板了,为什么呢??
是不是CCTableView里有什么东西阻挡了触摸事件向下传递,但我设置了CCTableView的TouchEnable为false还是一样,请大神指教…
还有就是发现quick 2.2.5的CCTableView在拖动时,帧频降了不少呀,
我这个CCTableView里的每个CCTableViewCell里有2个按钮,都设置了setTouchSwallowEnabled(false),才能实现点着按钮拖动列表,
但拖动列表时帧频明显下降,最低降到了30帧(原来60帧),
还有个办法就是给CCTableViewCell设置setTouchCaptureEnabled(false),也能实现点着按钮拖动列表,用这方法的话帧频没受太大影响,但是就点击不了按钮了
还有其他办法提高帧频吗??大神们
========================结帖======================
发现原因了,容器里添加了CCSCrollView/CCTableView的话,容器的getCascadeBoundingBox()的尺寸变成了屏幕尺寸,
所以如果容器有拦截触摸事件的话,尽管是点击容器以外(我的例子的黑色区域),触摸事件还是不能传递到容器下面的模态层(面板下面的黑色半透明CCLayer)
大爱新的触摸机制啊,在有CCScrollView的面板上打开新面板不需要将那个CCSCrollView的TouchEnabled设为false了
如下图,在顶面板上拖动CCTableView的区域,该列表不会动了,^^

