我有一个场景,我正在使用一个水平滚动的视图列表,如分页。每个视图都有垂直滚动的tableviews。现在的问题是我想要垂直滚动。它几乎不允许我这样做。但是垂直方向很好。我可以安排这种方式,垂直滚动应该比水平更高的优先级?但两者都应该是可访问的。
答案 0 :(得分:2)
在iOS 5中,UIScrollView
公开了其UIPanGestureRecognizer
。
将自定义滑动的委托设置为self并将gestureRecognizer
设置为属性或ivar,并使您的类符合<UIGestureRecognizerDelegate>
协议。
然后,实施UIGestureRecognizerDelegate
- gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer
:就像这样:
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
if ([gestureRecognizer isEqual:self.swipe] && [otherGestureRecognizer isEqual:self.scrollView.panGestureRecognizer])
{
return NO;
}
return YES; //default
}
答案 1 :(得分:1)
嗯,你有一个UIScrollView
水平滚动和几个UITableView
作为页面吗?我认为你的问题存在于拦截垂直平移手势的UIScrollView
。尝试禁用UIScrollView
的垂直滚动,这应该会有所帮助。