如何检测视图层次结构中的哪个视图处理触摸事件?

时间:2015-04-15 07:35:40

标签: ios objective-c debugging

我有几层UIViews,想知道哪个视图正在处理触摸事件。我在底部视图上实现了一个轻击手势识别器,但它没有响应。所以..我猜一个更高层次的观点是劫持触摸并消耗。我在更高级别的视图上启用了UserInteraction。

是否有触摸事件的调试方法?

1 个答案:

答案 0 :(得分:-1)

使用touchesBegan:withEvent method确切地知道触摸了哪个部分。通过这种方法,您可以获得前面的视图。

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *touch = [touches anyObject];
    NSLog(@"%@",touch.view);
}

当触摸在任何视图上开始并且如果它的用户交互打开时,接触的数组(NSSet)接受任何触摸对象,如果您将标记给予该视图,那么您可以轻松识别前面的哪个视图