【发布时间】:2015-01-27 09:03:21
【问题描述】:
我在另一个视图之上有一个透明的 UIScrollView。
滚动视图有内容——文本和图像,用于显示信息。
它背后的视图有一些用户应该能够点击的图像。 并且它们上面的内容可以使用提到的滚动视图滚动。
我希望能够正常使用滚动视图(虽然没有缩放),但是当滚动视图实际上没有滚动时,让点击事件进入它后面的视图。
结合使用触摸和滚动事件,我可以确定何时让点击通过。 但是它背后的视图仍然没有收到它们。
我已经尝试对所有触摸事件使用类似的东西:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"touchesBegan %@", (_isScrolling ? @"YES" : @"NO"));
if(!_isScrolling)
{
NSLog(@"sending");
[self.viewBehind touchesBegan:touches withEvent:event];
}
}
但它不起作用。
在我的情况下,考虑到我的用例,我也不能真正应用 hitTest 和 pointInside 解决方案。
【问题讨论】:
-
或许您可以在这种情况下使用 locationInView。但是看看你的代码,我不完全确定你想做什么......你想要任何点击都会产生相同的结果吗?或者您是否希望在某些图像上进行某些点击以执行某些操作?到目前为止,在 touchesBegan 中调用 touchesBegan 是没有意义的。
-
你能发布你的点击手势识别器的代码吗?
-
总结我想做的事情:if(!scroll) 让点击通过 :) 我没有手势识别器...我需要一个吗?
-
100%。您需要将 UITapGestureRecognizer 添加到 UIScrollView,因为它只能识别平移和捏合手势。
-
好的,Lyndsey,让我看看,我会回来的
标签: ios objective-c uiscrollview uikit