NJonesは正しい方向にありますが、彼の答えにはいくつか問題があると思います。
スクロール表示でボタンをタッチしたとします。ジェスチャー認識者の代理人で
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)recognizer shouldReceiveTouch:(UITouch *)touch {
UIView *gestureView = recognizer.view;
// gestureView is the view that the recognizer is attached to - should be the scroll view
CGPoint point = [touch locationInView:gestureView];
UIView *touchedView = [gestureView hitTest:point withEvent:nil];
// touchedView is the deepest descendant of gestureView that contains point
// Block the recognizer if touchedView is a UIButton, or a descendant of a UIButton
while (touchedView && touchedView != gestureView) {
if ([touchedView isKindOfClass:[UIButton class]])
return NO;
touchedView = touchedView.superview;
}
return YES;
}
のように、を実装してください。私は彼がどのようにボタンを複数のと言ったのか迷ったTisk tisk。私の答えは、私の他の回答の1つからコピーされました。そこでは、除外する1つのビューでした。これは倍数のほうがはるかに優れています。 – NJones
私は今これを試してみるつもりです。不思議なことに、私はこれについてStackoverflowから通知を受けていませんでした。しかし、これは堅実なソリューションのように見えます。返信してくれてありがとう! – Sumit