在我的应用程序中,我想让用户点击屏幕左侧以提高速度,并在右侧滑动以操作操纵杆。但是,如果用户一直握住左侧,则操纵杆无法正常工作。
我正在使用touchesBegan,touchesMoved等。有没有办法可以从第一次触摸中取消信息并单独操作操纵杆?
我已经尝试[self touchesCancelled: touches withEvent: event];
还有其他办法吗?
答案 0 :(得分:3)
Cocoa Touch框架具有多点触控功能。因此,您无需取消第一次触摸即可使用第二次触摸。只需枚举触摸并在触摸代理中仅使用您想要的操纵杆。 p>
NSArray *allTouches = [ touches allObjects ];
int numTouches = [ allTouches count ];
for (int i=0; i<numTouches; i++) {
UITouch *theTouch = [ allTouches objectAtIndex:i ];
if (theTouch != leftSideHoldTouch) {
// maybe it's a joystick touch, so handle it here
}
}