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シングルタップ)に触れると、コンテナが移動します。でダブルタッチ (2 本の指) するとUIView、子供はZoomUIScrollViewで動作しません(たとえば)。だから私はタッチ数をキャッチすることを考えています。

タッチ番号が 1 の場合hitTestUIViewコンテナーで「self」を返します。それ以外の場合、タッチ数が 1 より大きい場合 ( == 2)、hitTest「scrollview」ポインタを返します。

つまり、2 本指のイベントを hitTest() メッセージ/イベントにキャッチしたいと考えています。

4

1 に答える 1

1

hitTestフレームワークは、どのビューがヒットしているかを判断するために使用し、touchesBegan/ touchesMoved/ touchesEnded/touchesCancelledメッセージを送信するビューを決定します。呼び出された時点hitTestでは、わかりません。

これは正しい方法とは思えないので、達成しようとしていることを説明できるかもしれません。

于 2010-01-13T15:25:28.083 に答える