1

質問があります-iPhoneでUITapGestureRecognizerがUIImageViewの一部でのみタップに応答する可能性はありますか? 実際には、問題は次のとおりです。ジェスチャー認識機能が追加された UIImageView があり、これらの UIImageView の一部が他のビューで覆われています。この別のビューをタップすると、UIImageView がタップを認識します。この問題はどのように解決できますか?

4

1 に答える 1

1

あなたの質問を理解できるかわかりません。画像ビューと重なるビューがタップされたときにジェスチャレコグナイザーをトリガーしますか?もしそうなら、私はあなたがちょうどあなたが重なっているビューにジェスチャーレコグナイザーを追加することができると思います。

2つのオーバーラップするビューがあり、オーバーラップした部分がタッチされた場合にのみタッチを処理する場合は、メインビューにタップジェスチャレコグナイザーを追加して、オーバーラップがタッチされたかどうかを確認することをお勧めします。

- (void)viewDidLoad
{
    [super viewDidLoad];

    UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureRecognizerTriggered:)];
    [self.view addGestureRecognizer:gestureRecognizer];
}

- (void)tapGestureRecognizerTriggered:(UITapGestureRecognizer *)gestureRecognizer
{
    CGPoint location = [gestureRecognizer locationInView:self.view];
    if (CGRectContainsPoint(self.frontView.frame, location) &&
        CGRectContainsPoint(self.backView.frame, location))
    {
        // Handle touch
    }
}

CGRectContainsPoint(self.backView.frame, location)条件文の前でタッチが発生した場合にタッチを処理したい場合。

于 2012-12-05T21:28:32.663 に答える