我有一个具有相当复杂的用户界面的应用程序,有一个很大的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
,这似乎很好地处理了这种行为。但是,我不能在这里做到这一点,因为当桌子滚动时,封面上做了一些独特的动画。