[英]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.