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

iOS:将手势传递给下面的 View

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

我有一个简单的设置:有 2 个兄弟 UIViews A 和 B,B 完全覆盖 A(但它是透明的,所以 A 是可见的):

┌──────────────────┐
│   View A         │
│                  │
│   ┌──────────────┴───┐
│   │   View B         │
│   │                  │
│   │                  │
│   │                  │
│   │                  │
│   │                  │
└───┤                  │
    │                  │
    │                  │
    └──────────────────┘

我需要 2 个不同的 UIGestureRecognizers:A 应该有一个点击识别器,B 应该有一个平移识别器。每当我点击 B 时,它应该传递触摸事件以查看 A 后面,以便它可以识别点击(我将使用一些逻辑来了解是否接受了平移,例如距离、起始区域等)。这可以在 iOS 中实现吗?

到目前为止,我的经验是,一旦 B 接受触摸,它就永远不会将其转发给后面的 A。接受与否的决定应立即在重写的 pointInsidehitTest 函数中完成。然而,在我的例子中,这个决定是基于一些逻辑的,并且取决于用户交互的上下文和历史。



Best Answer-推荐答案


根据 Responder Chain,它会将事件转发到下一个 View (或下一级),如果它不是由顶层对象处理,但如果它是由顶层对象处理,那么它将不会t将其传递到下一个级别。因此,在您的情况下,如果 View B 正在响应触摸事件,它不会将触摸传递给 View A,但是如果您在 View B 中强行阻止触摸事件,则 Responder Chain 会传递触摸事件查看 A。

更多内容在链接中:enter link description here

希望对你有帮助

关于iOS:将手势传递给下面的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39541763/

回复

使用道具 举报

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

本版积分规则

关注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