1

円の画像を表示するUIView(インタラクティブな状態を維持する必要がある)で、円の外側の領域がユーザーインタラクションを受け取らないようにするには、そのビューの下にある他のUIが引き続きアクティブになるようにするにはどうすればよいですか?

UIViewをCGPathでマスクしようとしましたが、役に立ちませんでした。ここに画像の説明を入力してください

何か案は?

4

2 に答える 2

1

タッチ イベントはビュー階層でバブル ダウンするため、UIView として、タッチ イベントが自分に関連しているかどうかを確認できます。タッチ イベントが単に NO を返すだけでなく、そのイベントが階層内の次の UIView に移動するかどうかを確認できます。

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
    for (UIView * view in [self subviews]) {
        if ([view pointInside:[self convertPoint:point toView:view] withEvent:event]) {
            return YES;
        }
    }
    return NO;
}
于 2012-07-17T16:44:36.403 に答える
0

UI イベントを受け取る要素を円の外に置かないでください。これが避けられない場合は、円の外側にあるすべての要素を必要なだけ無効にしてください。

于 2012-07-17T12:22:42.013 に答える