[iOS diary] UIImageView,UILabel等加gesture recognizer不成功,神秘属性userInteractionEnabled

编程入门 行业动态 更新时间:2024-10-22 07:22:12

[iOS diary] UIImageView,UILabel等加gesture recognizer<a href=https://www.elefans.com/category/jswz/34/1754994.html style=不成功,神秘属性userInteractionEnabled"/>

[iOS diary] UIImageView,UILabel等加gesture recognizer不成功,神秘属性userInteractionEnabled

某天,我对一个UIImageView addGestureRecognizer怎么搞都没有反应。后来,老大告诉我有这个属性,我enable之发现还是不行,后来才发现我的UIImageView是add到另外一个UIImageView上的,把父层UIImageView enable userInteractionEnabled之后就成功了。

这是因为iOS的事件机制先自底的UIApplication-UIWindow-UIView向顶递归利用HitTest寻找第一响应者,然后在形成的响应者链中递归回溯进行事件处理,若事件在高层被处理就不会再将该事件向响应链底层发送。如需要继续向底层发送,需进行特殊处理。

目测,userInteractionEnable是在自底向顶寻找第一响应者,构筑响应者链的时候作为辅助寻找的标志。


附:userInteractionEnable的翻译介绍:

附:讲解iOS事件处理机制的好博文:.html

里面有三句话很能概括事件处理

1、iOS判断哪个界面能接受消息是从View层级结构的父View向子View传递,即树状结构的根节点向叶子节点递归传递。2、hitTest和pointInside成对,且hitTest会调用pointInside。3、iOS的消息处理是,当消息被人处理后默认不再向父层传递。

更多推荐

[iOS diary] UIImageView,UILabel等加gesture recognizer不成功,神秘属性userInteractionEnable

本文发布于:2024-02-12 04:57:23,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1686155.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:不成功   属性   神秘   UIImageView   diary

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!