gpt4 book ai didi

未按正确顺序接收 iOS 触摸事件(未在正确时间调用触摸结束)

转载 作者:行者123 更新时间:2023-12-01 16:59:40 25 4
gpt4 key购买 nike

所以我试图以这个确切的顺序捕捉以下行为

touch 1 STARTED
touch 1 moved
touch 1 moved

touch 2 STARTED
touch 2 moved
touch 2 ENDED

touch 1 moved
touch 1 moved
touch 1 ENDED

但相反,他们以错误的顺序返回:
2011-12-02 14:55:37.187 coreplotround2[7396:707] touch 1 STARTED
2011-12-02 14:55:41.182 coreplotround2[7396:707] touch 1 moved
2011-12-02 14:55:41.582 coreplotround2[7396:707] touch 1 moved

2011-12-02 14:55:41.743 coreplotround2[7396:707] touch 2 STARTED
2011-12-02 14:55:41.902 coreplotround2[7396:707] touch 1 moved
2011-12-02 14:55:41.904 coreplotround2[7396:707] touch 2 moved <---- at this point my 2nd finger is released!!

2011-12-02 14:55:45.533 coreplotround2[7396:707] touch 1 moved
2011-12-02 14:55:45.533 coreplotround2[7396:707] touch 1 moved
2011-12-02 14:55:45.533 coreplotround2[7396:707] touch 1 moved
2011-12-02 14:55:45.533 coreplotround2[7396:707] touch 1 moved
2011-12-02 14:55:45.533 coreplotround2[7396:707] touch 1 moved
2011-12-02 14:55:45.549 coreplotround2[7396:707] touch 1 ENDED
2011-12-02 14:55:45.566 coreplotround2[7396:707] touch 2 ENDED

问题是 touch 2 ENDED 与 touch 1 ENDED 同时出现,即使 touch 2 结束得早得多。

我正在使用 touchesBegan、touchesMoved、touchesEnded 方法。

有谁知道为什么?

最佳答案

我发现了原因。我从 Core Plot 图形库中继承了一个对象。这个对象是 UIView 的一个子类,所以我希望它能够接收到触摸。因此,我重新声明了触摸监听器并尝试尝试查看它们的行为方式。

我相信在这个特定的 Core Plot 对象中发生了一些奇怪的事情,它与触摸顺序发生了冲突。我不能告诉你那是什么。

我通过创建一个带有空 View 的新项目并测试多点触控来发现这一点。

我决定在它之上创建一个 UIView 来拦截多点触控,然后在 Core Plot 中调用适当的委托(delegate),而不是继承 Core Plot。

关于未按正确顺序接收 iOS 触摸事件(未在正确时间调用触摸结束),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8362004/

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