将触摸事件从 UIVew 传输到 UIScrollView

Posted

技术标签:

【中文标题】将触摸事件从 UIVew 传输到 UIScrollView【英文标题】:Transfer Touch event from a UIVew to an UIScrollView 【发布时间】:2016-09-16 14:00:46 【问题描述】:

我有 n 个适合整个屏幕的 UIScrollView,并在其前面显示一个 UIView。我想将触摸事件从UIView转移到UIScrollView,如:

当我在UIView 上移动手指时,UIScrollView 会相应滚动(保持惯性)

UIView 可能包含按钮,所以userInteractionEnabled = false 不是一个好的解决方案

当我在UIScrollView 上移动手指时,UIScrollView 照常滚动

如果有人有解决方案,请不要犹豫。

提前致谢。

【问题讨论】:

试试这个,好像是 Dup of - ***.com/questions/7488551/… 感谢您的回答,我放了 repo,以便您可以看到我们做了您向我展示的类似操作,但没有成功。也许我们做错了什么bitbucket.org/JPEG06/testgesture/src 【参考方案1】:

创建一个自定义 UIView 然后实现这个委托:

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event 
    //return NO to disable click to this UIView and then the click will be forward to the view behind.
    return NO;

显然,您也可以尝试将 .userInteractionEnabled 的值设置为 NO

【讨论】:

以上是关于将触摸事件从 UIVew 传输到 UIScrollView的主要内容,如果未能解决你的问题,请参考以下文章

触摸 uivew 时在 uiview 中添加 uiimageview

将触摸事件从覆盖 UIView 转发到 UIWebView / 如何从代码将触摸事件发送到 uiwebview

将数据从 UITableViewCell 可可触摸类传输到 UIViewController 类

如何将触摸事件从一个视图传递到另一个视图

将触摸事件从视图发送到控制器

WPF 触摸到事件