我的应用程序中有一个CCScrollLayer,其中包含可移动的精灵(可以将其拖放)。问题是,当将精灵拖动得太远时,CCScrollLayer将开始滚动。只要我拖动这些精灵,就试图禁止CCScrollLayer滚动。通过使用禁用工作
[[CCTouchDispatcher sharedDispatcher] removeDelegate:sender];
我从方法获得发件人
- (void)scrollLayerScrollingStarted:(CCScrollLayer *)sender {
//...
}
我无法再次启用CSScrollLayer,对此进行了尝试,但没有结果:
[[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:scrollLayer priority:0 swallowsTouches:NO];
我正在使用v1.0.1(稳定版)
最佳答案
您可以子类化CCScrollLayer并添加一个启用的属性boolean。只需覆盖CCScrollLayer开始滑动的触摸方法即可。例如
-(BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event
{
if(self.enabled)
return [super ccTouchBegan:touch withEvent:event];
else
return NO;
}