1

我有一个像容器一样使用的简单 UIView。如果我写这段代码:

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {

    UIView *hitView = [super hitTest:point withEvent:event];

    NSSet *sTouches = [event touchesForView:self];

    NSLog(@"Touches %d", [sTouches count] );

    return self;
}

不工作!我想在 touchesBegan() 之前在 hitTest() 消息中获取触摸计数!可能吗?

我有这个层次结构:

UIView 
  +---> UIScrollView 

当触摸我的UIView单击)时,容器会移动。当我在我的 上双击(两根手指)时UIView,孩子UIScrollView不适用于Zoom(例如)。所以我有想赶上触数。

如果触摸数等于一,则hitTest在我的UIView容器上返回“self”。否则,如果触摸数大于一(== 2),hitTest则返回“scrollview”指针。

换句话说,我想将两个手指事件捕获到 hitTest() 消息/事件中。

4

1 回答 1

1

hitTest框架使用它来确定哪个视图被击中,从而确定向哪个视图发送touchesBegan///消息。在这一点上被称为,你不能告诉。touchesMovedtouchesEndedtouchesCancelledhitTest

也许您可以解释您要完成的工作,因为这似乎不是正确的方法。

于 2010-01-13T15:25:28.083 回答