gpt4 book ai didi

ios - iOS最早注册触摸事件

转载 作者:行者123 更新时间:2023-11-28 15:23:59 24 4
gpt4 key购买 nike

在重新排列 UIView 的结构后,我似乎引入了绘图延迟(用户可以用手指在屏幕上绘图)。在开始绘制之前可以忽略不计,但现在在手指的初始移动和线条绘制之间存在明显的延迟。当我继续绘制时,延迟似乎消失了。因此,初始触摸事件可能在某处延迟。

我的问题不是如何解决这个具体实例,而是在诊断中我遇到了以下问题:我最早可以记录屏幕触摸(开始)的时间点是什么时候?

现在我将时间戳放入所有 UIResponders 的 hitTest 中(UIWindow -> UIView -> ... -> DrawingView)。但是在 UIWindow 中第一次调用 hitTest 之前会有延迟吗?

谢谢!

最佳答案

UIWindow 在将事件直接传递给 View 之前将触摸事件传递给手势识别器。这发生在 -[UIWindow sendEvent:]( https://developer.apple.com/documentation/uikit/uiwindow/1621614-sendevent ) 中。我相信它会 HitTest View 层次结构以找到可能对事件感兴趣的手势识别器,因此您不应期望 hitTest:withEvent: 消息会延迟。

如果您的 View 或其任何父 View 上有手势识别器,that gesture recognizer can delay the delivery of touch events .

请注意,许多 UIKit 的标准 View 都使用手势识别器。特别是,UIScrollView uses gesture recognizers that can delay touch events , UITableViewUICollectionView 都是 UIScrollView 的子类。

关于ios - iOS最早注册触摸事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45534753/

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