gpt4 book ai didi

ios - 如何让 UIView 停止接收触摸事件?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:43:44 25 4
gpt4 key购买 nike

我正在开发一款应用,希望用户在多个 UIView 之间快速触摸和滑动,一旦用户的手指触及它,每个 UIView 都应该执行一个操作。我有很多的 View ,所以典型的做法是遍历每个 View 以查看触摸是否在其范围内,这是不行的 - 只有太多滞后。有没有其他方法可以将触摸事件从一个 View 获取到另一个 View (即第一个 View 旁边)?我想也许有一些方法可以取消触摸事件,但我已经搜索过,但到目前为止还是空的。

我遇到的一个大问题是,如果我在我的 View Controller 中实现我的触摸处理,touchesBegan 只会在第一次触摸时触发 - 如果用户触摸某物然后在没有移动第一个手指的情况下点击其他东西,该点击未记录在 touchesBegan 或 touchesMoved 中。但是如果我在 UIViews 本身中实现我的触摸处理,一旦一个 View 注册了一个触摸,如果用户没有抬起他们的手指并移动它,第一个 View 周围的 View 就不会注册触摸。只有当用户抬起手指然后放回原位时,周围的 View 才会记录触摸。

所以我的问题是,假设我有两个并排的 View ,我的触摸处理代码是在 View 中实现的,我将手指放在 View 1 上。然后我将手指滑到 View 2 - 做什么我需要做的是让 View 2 注册那个触摸,它在 View 1 中开始并且从未“结束”?

最佳答案

设置userInteractionEnabled UIView 的属性设置为 NO

view.userInteractionEnabled = NO;

关于ios - 如何让 UIView 停止接收触摸事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22281536/

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