iOS 不会将触摸转发到以下视图

Posted

技术标签:

【中文标题】iOS 不会将触摸转发到以下视图【英文标题】:iOS do not forward touches to views below 【发布时间】:2015-02-17 09:14:41 【问题描述】:

在我的应用程序中,我有 UIScrollView,它有很多 UITableView。在该表的单元格中有 UISlider。如果用户在表格视图上做出滚动手势,我如何禁用触摸转发?现在,如果用户在滑块附近(但不在滑块上)做出滚动手势,则触摸事件会转发到滚动视图。

【问题讨论】:

【参考方案1】:

您可以继承 UIScrollView 并将此方法添加到新类中

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event 

    UIView *result = [super hitTest:point withEvent:event] ;
    self.scrollEnabled = ![result isKindOfClass:[UISlider class]] ;
    return result ;

 

【讨论】:

以上是关于iOS 不会将触摸转发到以下视图的主要内容,如果未能解决你的问题,请参考以下文章

平移手势不会将触摸转发到 Mapbox MGLMapView

iOS - 过滤和转发触摸到子视图

仅将触摸事件转发到被触摸的视图

在 iOS 14 上,按钮不会通过触摸到集合视图单元格

UIView 事件转发无限循环

从 UIScrollView 转发触摸 - UIButton 问题