我有一个 UI 相当复杂的应用程序,有一个很大的 UIView
叫做 cover,下面有一个 UITableView
。 tableView
配置了一个与封面高度相同的tableHeaderView
。当 tableView
向上滚动时,封面会使用 UIScrollViewDelegate
在屏幕上向上移动(带有各种精美的动画)。为了允许用户通过滑动封面来滚动 tableView
,我重写了 - (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
方法以始终返回 false
。
我现在已经在封面上添加了一些 UIButton
View 。我已经设法通过改变我重写 pointInside
方法的方式使它们响应点击,如下所示:
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
BOOL isInside = [_directionsButton pointInside:[_directionsButton convertPoint:point fromView:self] withEvent:event];
return isInside;
}
现在唯一的问题是,如果您在按钮上开始滑动手势,它会被按钮捕获并且 tableView
不会滚动。我希望能够忽略按钮上的滑动手势(所以真的让它们传递到下面的 View )。
通常,我只会将封面 View 设为 tableHeaderView
,它似乎可以很好地处理这种行为。但是,由于表格滚动时封面上有一些独特的动画,我不能在这里这样做。
最佳答案
您是否尝试过使用手势识别器识别手势并执行在检测到指定手势时调用的操作方法?
请检查这个link .这可能对您有所帮助。
关于iOS - 处理水龙头的 View ,但让滑动进入 super View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22216001/