15

UIView実装するカスタムがありますhitTest:withEvent:

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

    int x = 0;
    x = [[event allTouches] count];
    return [super hitTest:point withEvent:event];
}

問題は、それxが常にあることです0。他の API を実装したり、設定UIViewを行ったりする必要がありますか?

タッチの開始/移動と終了を区別するためにのみ必要でした。

4

1 に答える 1

-4

これを試して

yourView.userInteractionEnabled = YES;

iOS は、ビュー階層でのユーザー操作を無効にする可能性を提供します。iOS の一連のイベントでは、ビュー スタックの最も近いビューでタッチ イベントを無視することが可能であり、階層内の次のビューが責任を持ってインタラクションに応答しようとする可能性があると言われています。

前述のように、ユーザー インタラクションに応答するビューが NO に設定されている可能性があるため、階層内の次のビューがイベントに応答します。これが、機能しなかった理由である可能性があります。

于 2013-10-04T20:49:30.193 に答える