我UIScrollView
内有UIView
。对于自定义分页目的,我已将此UIScrollView
的裁剪设置为否,以便UIScrollView
仍显示在UIView
的区域A和区域B中。
[区域A [UIScrollView]区域B]
现在我希望Region AB能够在触摸时触发UIScrollView's
的滚动事件。我记得有一个衬垫(类似于[X addGestureRecognizer ...]
)可以解决这个问题但是我已经忘记它是什么......如果有人能告诉我那是什么,那将是很棒的!
答案 0 :(得分:1)
这不会让您对滚动进行流畅控制,就像您从UIScrollView
获得的一样。
但是,您可以使用以下代码:
UISwipeGestureRecognizer *leftSwipeGestureRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(viewSwiped:)];
[leftSwipeGestureRecognizer setDirection:UISwipeGestureRecognizerDirectionLeft];
[self.view addGestureRecognizer:leftSwipeGestureRecognizer];
[leftSwipeGestureRecognizer release];
UISwipeGestureRecognizer *rightSwipeGestureRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(viewSwiped:)];
[rightSwipeGestureRecognizer setDirection:UISwipeGestureRecognizerDirectionRight];
[self.view addGestureRecognizer:rightSwipeGestureRecognizer];
[rightSwipeGestureRecognizer release];
解雇此方法:
- (void)viewSwiped:(UISwipeGestureRecognizer *)swipeGestureRecognizer {
switch (swipeGestureRecognizer.direction) {
case UISwipeGestureRecognizerDirectionLeft:
// Make your scroll view scroll
break;
case UISwipeGestureRecognizerDirectionRight:
// Make your scroll view scroll
break;
default:
// Do Nothing
break;
}
}
它将允许您检索滑动手势并相应地分页UIScrollView
。
其他两种解决方案可能更好:
UIPanGestureRecognizer
。它识别真正的平移手势,而不仅仅是离散滑动,但手指和UIScrollView
之间同步的实现会稍微复杂一些。UIScrollView
获取UIView
的总宽度并自行管理分页,重新计算您的步骤,同时通过{{1}跟踪UIScrollView
的当前状态}。再一次,有点难。希望这会有所帮助,
答案 1 :(得分:1)
如果您想将UIScrollView
的滚动手势重定向到另一个视图,可以执行以下操作:
[paddingView addGestureRecognizer:scrollView.panGestureRecognizer];