12

一部のビューでジェスチャレコグナイザーをほとんど使用していませんが、ビューが小さすぎてヒットしにくい場合があります。レコグナイザーの使用が必要ですが、どうすればヒットエリアを拡大できますか?

4

3 に答える 3

24

custom に対してこれを行っている場合は、メソッドUIViewをオーバーライドできるはずです。hitTest:withEvent:

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
    CGRect frame = CGRectInset(self.bounds, -20, -20);

    return CGRectContainsPoint(frame, point) ? self : nil;
}

上記のコードは、ビューの周りに 20 ポイントの境界線を追加します。その領域 (またはビュー自体) のどこかをタップすると、ヒットが示されます。

于 2013-03-21T17:17:14.810 に答える