[英]iOS - View that handle taps, but let swipes go through to the superview
我有一个具有相当复杂的UI的应用程序,有一个很大的UIView
称为封面,下面有一个UITableView
。 tableView
配置了一个与封面高度相同的tableHeaderView
。 当tableView
向上滚动时,封面会使用UIScrollViewDelegate
向上移动屏幕(使用各种花哨的动画)。 为了允许用户通过滑动封面来滚动tableView
,我已经覆盖- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
方法以始终返回false
。
我现在已经在封面上添加了一些UIButton
视图。 我设法让他们通过改变我覆盖pointInside
方法的方式来响应点击:
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
BOOL isInside = [_directionsButton pointInside:[_directionsButton convertPoint:point fromView:self] withEvent:event];
return isInside;
}
现在唯一的问题是,如果您在按钮上启动滑动手势,它会被按钮捕获并且tableView
不会滚动。 我希望能够忽略按钮上的滑动手势(所以真的让它们传递到下面的视图)。
通常情况下,我只是将封面视图设为tableHeaderView
,这似乎很好地处理了这种行为。 但是,我不能在这里做到这一点,因为当桌子滚动时,封面上做了一些独特的动画。
您是否尝试使用手势识别器识别手势并执行在检测到指定手势时要调用的操作方法?
请检查此链接 。 这可能会帮助你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.