私は持っていてUIView
、それに添付しましたUIPanGestureRecognizer
。内部でページングを有効にしUIView
て、スクロールビューを左UIScrollView
にスクロールできるようにコンテンツサイズを設定しました。
問題:
ユーザーがscrollViewを右にドラッグしようとしたときに、イベントをUIViewまで送信して、「UIPanGestureRecognizer」がタッチイベントを処理できるようにしたい
私は持っていてUIView
、それに添付しましたUIPanGestureRecognizer
。内部でページングを有効にしUIView
て、スクロールビューを左UIScrollView
にスクロールできるようにコンテンツサイズを設定しました。
問題:
ユーザーがscrollViewを右にドラッグしようとしたときに、イベントをUIViewまで送信して、「UIPanGestureRecognizer」がタッチイベントを処理できるようにしたい
最後に、6時間後、デリゲートメソッドをサブクラス化UIScrollView
して実装したことがわかりましたgestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer
ユーザーが scrollView をドラッグすると、このメソッドが呼び出さ(BOOL)gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer
れ、デフォルトで NO が返されます
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{
if (self.contentOffset.x > 0 && self.contentOffset.x <= self.contentSize.width - self.frame.size.width) {
//user is in middle of dragging the scrollView don't allow any other gestureRecognizer to respond
return NO;
}else{
//scrollView contentOffset is 0 and user is not dragging the scrollView so let other gestureRecognizer to respond
return YES;
}
}
[myScrollView setContentSize:CGSizeZero];