gpt4 book ai didi

view - 传递触摸事件

转载 作者:行者123 更新时间:2023-12-05 00:38:53 28 4
gpt4 key购买 nike

我的 View Controller View 中有一个可用的 UIButton。

我在同一 View Controller View 中的按钮顶部有一个 UIView 实例(我将其称为 topView)。如果满足条件,我会将所有触摸事件(开始、移动、结束、取消)转发到 View 的 nextResponder。

但是当条件被触发时,按钮没有接收到事件。如果我移动 topView 使其不在按钮上方,则按钮将起作用(或将 userInteractionEnabled 属性设置为 false)。如果 topView 位于按钮上方,则按钮不起作用。太令人沮丧了,因为我可以看到 View 下的按钮!

我是否必须在 View Controller 中执行任何操作才能接收触摸事件并将其发送到 nextResponder?

我已经阅读了响应者链上我能读到的所有文档,但我仍然有点困惑。

最佳答案

View 的 nextResponder 要么是它的 View Controller ,要么是它的超 View 。您设置中的 UIButton 两者都不是,因此它不会接收事件。

在这种情况下,您应该覆盖 pointInside:withEvent:,而不是将事件转发到 nextResponder。返回 NO。这样系统就会表现得好像你的 View 根本不存在一样。根据文档,您还可以在 View 上将 userInteractionEnabled 设置为 NO 以获得相同的效果。

关于view - 传递触摸事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5150136/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com