touchesbegan触摸即使用两个手指也只能记录一次触摸

时间:2011-02-24 04:38:56

标签: iphone objective-c

我用两根手指同时触地。我得到[touches count] => 1和[[event allTouches] count] => 2

我不应该为他们两个得到2?

此外,当我首先将1个手指放下,然后另一个放在同一个手机上。第二个手指事件不会导致触动到drigger?不应该两次打电话给touchesBegan吗?

我有一个表格单元格,我设置:

multipleTouchEnabled = YES;

这是我的接触开始:

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    NSLog(@"began touch count %d", [touches count]);
    NSLog(@"all touches %d", [[event allTouches] count]);
}

1 个答案:

答案 0 :(得分:2)

使用UITableViewCell时,似乎有些事情正在发生。我的猜测是,这与内置处理检测单元格的滑动和触摸以及能够处理UITableView本身的滚动有关。作为一种解决方法,您可以将自己的视图添加到单元格的contentView,以便能够检测到触摸。有点像:

MyCustomView *customView = [[MyCustomView alloc] initWithFrame:...];
customView.multipleTouchEnabled = YES;
[cell.contentView addSubview:customView];
[customView release]; 

您可以在tableView:cellForRowAtIndexPath:

中创建单元格