3

我有以下代码:

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {


NSUInteger touchCount = 0;
// Enumerates through all touch objects
for (UITouch *touchb in touches){
    touchCount++;
}


// When multiple touches, report the number of touches. 
if (touchCount > 1) {
    lblStatustouch.text = [NSString stringWithFormat:@"Tracking %d touches", touchCount];
} else {
    lblStatustouch.text = [NSString stringWithFormat:@"Tracking 1 touch", touchCount];
}

当我运行它时,它永远不会检测到一次以上的触摸。是否有一些设置可能会阻止我的应用程序进行多次触摸?或者我在这里错过了什么?

4

2 回答 2

10

您需要在 InterfaceBuilder 中的视图上启用“多点触控”

替代文字 http://img.skitch.com/20090227-rpkafsxtg56pujk1h1583if88i.jpg

或者,如果您已经在代码中创建了视图,则它设置为

[theView setMultipleTouchEnabled:YES];
于 2009-02-27T20:55:08.373 回答
1

还要知道,如果两个手指同时移动,您只会在 touchesMoved 中获得多次触摸。如果您将一根手指固定在屏幕上,然后移动另一根手指,手机将只报告正在移动的手指。

于 2009-05-10T01:09:19.157 回答