3

X行のテーブルビューがあります。

行の 1 つは、その中にコレクション ビューがあります。

コレクション ビューには Y 個のセルがあります。

すべてのセルにはボタンがあります。

さて、問題は次のとおりです。コレクション ビュー セル内のボタンにタップ ジェスチャを適用すると、機能します。しかし、ボタンに長押しジェスチャーを適用すると、まったく機能しません。

以下は私が試しているコードです。

-(void)setupGestureForAllButton{
    for (UIButton *button in self.keyboardButtons) {
        UILongPressGestureRecognizer *gr = [[UILongPressGestureRecognizer alloc] init];
        [gr addTarget:self action:@selector(userLongPressed:)];
        [button addGestureRecognizer:gr];
    }
}
- (void)userLongPressed:(id)sender {
    NSLog(@"user long pressed");
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
    return YES;
}

問題の画像表現を見つけてください ここに画像の説明を入力

更新 1:

設定gr.delegate = self;はうまくいきました。

まだわかりません。それでは、そもそもなぜタップジェスチャで機能していたのでしょうか。

4

0 に答える 0