iOS 响应事件的传递

今天无意间注意到了一个之前一直没发现的问题,今天和大家分享一下.

1. button 上面放 imageView,imageView 的交互没有打开,点击 imageView 能不能响应 button 的点击事件呢. 按照之前的想法是button 上面盖了一层东西,怎么可能会响应 button 的点击事件呢.但是今天就突然发现是可以的.

2.cell 上面放一个 imageView 和一个 button, 点击 imageView 的时候响应 cell 的点击事件,但是点击 button 的时候却没有响应 cell 的点击事件(此时是没有实现 button 的点击事件的),这又是为什么呢

3.那么为什么 button 放在 imageView 上的时候,点击 button 的时候, button 又不响应了呢

带着上面的问题,我查了一些资料,和自己写了各种情况的小 demo. 总结了一下:

1.button 上面放 imageView  点击 imageView 能响应 button 的点击事件 :是因为从下往上找,找到的 imageView 不能响应,所以就响应 imageView 的上一个响应者. 如果 imageView 的交互打开,那么就不会响应 button 的点击事件了.

2.button 放在 imageView 上面, imageView 的交互不打开, button 的点击事件就不会响应 :是因为响应事件向上传递到 imageView 的时候, imageView 的交互没有打开,就不会传递到 button, 所以不会响应 button 的点击事件

3.根据 button 和 imageView 的实战代码总结: 所有的响应事件都遵循这样的传递.

大家可以看一下图(比较好理解一点)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 好奇触摸事件是如何从屏幕转移到APP内的?困惑于Cell怎么突然不能点击了?纠结于如何实现这个奇葩响应需求?亦或是...
    Lotheve阅读 58,960评论 51 604
  • 在iOS开发中经常会涉及到触摸事件。本想自己总结一下,但是遇到了这篇文章,感觉总结的已经很到位,特此转载。作者:L...
    WQ_UESTC阅读 11,311评论 4 26
  • 2017.02.22 可以练习,每当这个时候,脑袋就犯困,我这脑袋真是神奇呀,一说让你做事情,你就犯困,你可不要太...
    Carden阅读 5,215评论 0 1
  • 不知大家有没有这种经历,和自己多年未见的朋友或同学见面了,缺发现自己和对方不是一路人了,双方在一起感觉不知道怎么开...
    天涯落花零阅读 3,508评论 0 0
  • 有时我们会发现当下蹲起来或是跳跃时,我们的膝盖处会发生弹响,有的人可能响一次后就不响了,有的人可能一蹲下就会响。 ...
    弈帆阅读 1,864评论 0 0

友情链接更多精彩内容