你可能知道,iPhone OS在touchesBegan:发生后会人为延迟约0.25秒。这是为了检查用户是否打算移动屏幕。如果在此期间delta值发生足够显著的变化,则会触发touchesMoved:序列。
但是,当你想在应用程序中实现触觉触摸行为时,你可能不想有任何延迟。它看起来很丑!你开始移动某些东西,然后在0.3秒内什么也不发生。然后,突然整个东西翻转了。每次新的带有移动的触摸序列都会发生这种情况。这真的很糟糕。当然,在某些情况下,这是必需的,因为你可能想确定用户是否真的打算移动。但是对于自定义滑块或其他通过跟踪触摸运动工作的触觉控制来说,这样做并非如此。
因此,当我发现这是iPhone OS故意造成的问题后,我想知道如何解决这个问题。我无法预测移动,因为用户可能向左或向右移动。我在touchesBegan:中不知道这一点。0.3秒恰好足以使应用程序看起来无响应。
然而,似乎还有希望:Convertbot在这方面没有任何问题。旋转轮立即在触摸和移动时开始旋转。没有滞后,没有延迟。我在他们的博客中询问了他们是如何做到的,但还没有回应。
我希望有一种方法可以手动从系统中提取触摸坐标。当touchesBegan:发生时,我会启动一个60Hz的间隔,直到touchesMoved:采取行动。
因此,这个地球上最大的问题是:“这怎么可能?”
但是,当你想在应用程序中实现触觉触摸行为时,你可能不想有任何延迟。它看起来很丑!你开始移动某些东西,然后在0.3秒内什么也不发生。然后,突然整个东西翻转了。每次新的带有移动的触摸序列都会发生这种情况。这真的很糟糕。当然,在某些情况下,这是必需的,因为你可能想确定用户是否真的打算移动。但是对于自定义滑块或其他通过跟踪触摸运动工作的触觉控制来说,这样做并非如此。
因此,当我发现这是iPhone OS故意造成的问题后,我想知道如何解决这个问题。我无法预测移动,因为用户可能向左或向右移动。我在touchesBegan:中不知道这一点。0.3秒恰好足以使应用程序看起来无响应。
然而,似乎还有希望:Convertbot在这方面没有任何问题。旋转轮立即在触摸和移动时开始旋转。没有滞后,没有延迟。我在他们的博客中询问了他们是如何做到的,但还没有回应。
我希望有一种方法可以手动从系统中提取触摸坐标。当touchesBegan:发生时,我会启动一个60Hz的间隔,直到touchesMoved:采取行动。
因此,这个地球上最大的问题是:“这怎么可能?”