美文网首页iOS学习
iOS 响应事件的传递

iOS 响应事件的传递

作者: Bruce_XHG | 来源:发表于2016-12-01 17:18 被阅读0次

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

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 的实战代码总结: 所有的响应事件都遵循这样的传递.

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

相关文章

网友评论

    本文标题:iOS 响应事件的传递

    本文链接:https://www.haomeiwen.com/subject/uhoxmttx.html