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

iphone - touchesMoved 在没有 touchesBegan 的情况下调用

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

我在一个容器中有许多自定义 UIView,我会在用户移动它们后对其进行动画处理。为了跟踪他们的移动,我使用 touchesBegan: 获取当前位置,并使用 touchesMoved: 更新位置。

有时,特别是如果我最近移动了一个 View (并且它可能仍在动画回其原始位置),如果我开始拖动另一个 View ,则不会调用 touchesBegan: 选择器,但 touchesMoved:touchesEnded: 会。如何在不首先在 View 上调用 touchesBegan: 的情况下调用 touchesMoved:touchesEnded:



Best Answer-推荐答案


我发现我的应用存在类似问题。当我为另一个 View 设置动画时,如果我快速触摸第一个 View 并开始滑动,则不会发生 touchesBegan 事件,但一旦第一个 View 消失,我就会开始获取 touchesMoved。

根据这个答案,app starts ignores user interaction events when i call animateWithDuration:delayptions:animations:completion: ,用户交互事件在制作动画时会被忽略,我认为这与我们所看到的一致。尝试使用 UIViewAnimationOptionAllowUserInteraction 选项或 userInteractionEnabled 属性;这应该允许事件按您的要求通过。

关于iphone - touchesMoved 在没有 touchesBegan 的情况下调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9676545/

回复

使用道具 举报

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

本版积分规则

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