微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

UIGestureRecognizer接收触摸但也将其转发到UIControl

如何解决UIGestureRecognizer接收触摸但也将其转发到UIControl

| 您将如何允许ѭ1中的ѭ0receive接收触摸事件,又如何确保另一个底层/叠加
UIView
也接收相同的触摸事件? 可以说我有以下视图层次结构: 视图A(蓝色)和视图B(红色)都是同一父视图(灰色)的子视图。换句话说,它们都是兄弟姐妹,而顺序决定了其中一个覆盖另一个。 选项1: 视图B(红色)的子视图带有规则的“ 3”。 选项2: 视图A(蓝色)的子视图带有规则的“ 3”。 为了说明起见,给定选项1: 视图A(蓝色)附加了
UITapGestureRecognizer
(或什至更多,其他UIGestureRecognizers)。确保
UIButton
确实接收到其区域上的所有触摸,并且视图A(蓝色)也获得
UITapGestureRecognizer
上的触摸的最优雅方法是什么? 如果可能,该解决方案不应涉及扩展“ 3”类并手动转发按钮本身的任何事件。想象一下,视图B将包含更多控件,而不仅仅是一个按钮。所有这些控件都应以某种方式允许视图A在其“ 0”上接收触摸。 我提供了两个选项,因为我不在乎那些视图(A或B)中的哪个先出现,只要它们都得到了触摸即可。 到目前为止,我所有的方法都达到了死胡同。也许自定义响应者链将是一个不错的解决方案?我一直认为,在整个
UIKit
/
UIEvent
/
UIResponder
堆栈中必须有一个优雅的解决方案。     

解决方法

        你尝试过这个吗?   cancelsTouchesInView   一个布尔值,影响在识别手势时是否将触摸传递给视图。
@property(nonatomic) BOOL cancelsTouchesInView
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。