我有一个包含两个 subview 的 View :
滚动 View 位于 subview A的顶部,并具有完整的设备宽度/高度。我希望用户能够(通过透明区域)与滚动 View 下方的所有这些按钮和手势调整器进行交互,同时仍然能够滚动(因此,传递点击测试无效)。
似乎很容易完成的任务,但是我无法使它正常工作。滚动 View 始终阻止所有触摸。
知道我将如何实现吗?谢谢!
最佳答案
您应该子类化UIScrollView并覆盖以下方法:
-(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
如果此方法返回NO,则滚动事件对于触摸事件将是“透明的”。
由于只希望触摸在滚动 View 的透明区域中时,才使滚动 View 对触摸事件“透明”,因此您的实现应如下所示:
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
return ![self isPointInsideATransparentRegion:point]; //you need to implement isPointInsideATransparentRegion to check whether the point touched is in a transparent region or not
}
关于ios - 通过UIScrollView将某些接触传递给基础 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21530965/