• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-13 06:51:20 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在开发一个应用程序,希望用户在多个 UIViews 上快速触摸和滑动,一旦用户的手指到达它,每个 UIViews 都应该执行一个 Action 。我有 很多 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 开始并且从未“结束”?



Best Answer-推荐答案


设置 userInteractionEnabled UIView 的属性改为 NO

view.userInteractionEnabled = NO;

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

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap