【发布时间】:2012-12-12 19:51:03
【问题描述】:
我有一个 UIScrollView,我在其中添加了一个子视图。滚动视图可以很好地垂直滚动,这就是它应该做的。我现在想在 UISwipeGestureRecognizer 的帮助下识别子视图中的左/右滑动。我知道这是可能的,但我还没有找到解决方案,并且多次尝试均未成功。
【问题讨论】:
标签: objective-c ios uiscrollview uigesturerecognizer
我有一个 UIScrollView,我在其中添加了一个子视图。滚动视图可以很好地垂直滚动,这就是它应该做的。我现在想在 UISwipeGestureRecognizer 的帮助下识别子视图中的左/右滑动。我知道这是可能的,但我还没有找到解决方案,并且多次尝试均未成功。
【问题讨论】:
标签: objective-c ios uiscrollview uigesturerecognizer
试试这些:
设置你的UIGestureRecognizer的代表和
实现shouldRecognizeSimultaneouslyWithGestureRecognizer:
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{
return YES;
}
实现shouldReceiveTouch:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
return YES;
}
希望对你有帮助
【讨论】:
-shouldRecognizeSimultaneouslyWithGestureRecognizer::,但奇怪的是他们没有被调用...
我能够使用新的 iOS 7 UIGestureRecognizerDelegate 方法完成一些相关的事情(直接在滚动视图上添加两指滑动手势识别器):
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return otherGestureRecognizer == scrollView.panGestureRecognizer;
}
但是,结果并不完美 - 等待滑动手势识别器首先失败的延迟会导致滚动视图的平移手势识别器延迟,因此当您开始滚动时,正常滚动会明显延迟。
【讨论】: