私は垂直スクロールUIScrollView
を持っています。また、デフォルトの垂直スクロール動作を許可しながら、水平パンを処理したい。スクロールビューに透明なUIView
を置き、パンジェスチャ認識機能を追加しました。この方法で、私はパンを手に入れることができますが、スクロールビューにはジェスチャーはありません。UIScrollViewを介したパンのジェスチャーを傍受するとスクロールが壊れます
私は唯一の水平パンに私のジェスチャー認識を制限することを望んで、次UIPanGestureRecognizerDelegate
のメソッドを実装しましたが、それは助けにはならなかった。
- (BOOL)gestureRecognizerShouldBegin:(UIPanGestureRecognizer *)gestureRecognizer
{
// Only accept horizontal pans here.
// Leave the vertical pans for scrolling the content.
CGPoint translation = [gestureRecognizer translationInView:self.view];
BOOL isHorizontalPan = (fabsf(translation.x) > fabsf(translation.y));
return isHorizontalPan;
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return (otherGestureRecognizer == _scrollView.panGestureRecognizer);
}
あなたは '[panGesture setCancelsTouchesInView:NO]を試してみましたか;'? 'shouldRecognizeSimultaneouslyWithGestureRecognizer'で単にYESを返すだけで、問題がどこにあるかを理解するのに役立ちます。 –
ちょうどそれを試しました、違いはありません。 – Macondo2Seattle