【发布时间】:2012-09-23 13:26:26
【问题描述】:
我正在尝试实现一个 UIScrollView,其中水平平移滚动滚动视图中的图片,但垂直平移执行我拥有的另一个操作。现在我有一个 UIScrollView,它在禁用垂直滚动的情况下进行分页,它可以很好地滚动浏览图片,但是我疯狂地试图找到一种方法来拦截垂直平底锅并调用我自己的方法而不是垂直平底锅被吃掉滚动视图。我能够做到
UIPanGestureRecognizer *panUp = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePanGesture:)];
[self.scrollView addGestureRecognizer:panUp];
[scrollView.panGestureRecognizer setEnabled:NO];
这让我可以完全控制我的 handlePanGesture: 方法中的平移,但这并不是特别有用,因为我觉得我基本上要重写我试图避免的所有滚动逻辑。任何有关如何实现这一目标的帮助或指导将不胜感激。
谢谢!
【问题讨论】:
-
你想用你的垂直平底锅做什么?是否涉及滚动?
-
不涉及滚动。我有一个子视图,我想将其动画到滚动视图的同一个父视图中(滚动视图只占用其父视图的一部分)
-
那我不明白你的说法:“我觉得我基本上要重写所有的滚动逻辑”。你的水平平底锅工作正常吗? panUp还被scrollView拦截吗?
-
我知道我迟到了,但是将
shouldRecognizeSimultaneouslyWithGestureRecognizer设置为return YES将可以解决此问题,但您还必须将平移手势.delegate设置为self。我没有设置代表,它对我不起作用。我看到您在上面的代码中也遗漏了委托。希望这对未来的用户有所帮助。
标签: objective-c ios uiscrollview uipangesturerecognizer