【问题标题】:Delay Between 'tochesBegan' and 'touchesMoved''tochesBegan' 和 'touchesMoved' 之间的延迟
【发布时间】:2012-04-26 18:23:22
【问题描述】:

我正在处理我的应用程序的手绘部分。

当我尝试绘制非常非常细的线时(比如 2~3 像素) 它仍然只有一个像素。 并进一步移动我的 thouch,然后跳转到 4 个像素。 :(

这不是性能问题。 'tochesBegan' 和 'touchesMoved' 事件之间存在延迟。

我认为这与此有关: When does a touchesBegan become a touchesMoved?

奇怪的是它没有在 iOS 模拟器上发生 还有 SketchBookX(一款流行的绘图应用)

【问题讨论】:

  • 那么你的问题是什么?
  • 问题是“我怎样才能消除 tochesBegan 和 tochesMoved 之间的延迟”

标签: iphone objective-c ios xcode ipad


【解决方案1】:

哦,我终于找到了我的错!

如果触摸在“touchesBegan”之后移动很短,则不会触发“touchesMoved”。

但是当 'touchesEnd' 给出移动点 X(

这有点奇怪,但我终于完成了 :)

【讨论】:

    【解决方案2】:

    如果有延迟,为什么要消除延迟?只需处理它并在您收到的最后一点和新点之间画一条线。用户甚至看不到 4 像素或 2 到 3 像素 - 仅他们的手指将覆盖 45 像素的半径,因此当他们拖动手指绘制 2 / 3 / 4 时不会被注意到,而且无论如何都应该无关紧要如果你正在连接点

    【讨论】:

    • 这很明显。试试 GLPaint 示例代码HERE。长线?插值没问题。但是试试很短的线?它只触发'touchesBegan'。这意味着只有一分。无法插值:(
    • 显然这不是问题,而是实施问题,不明白为什么我被否决了
    猜你喜欢
    • 2014-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-04
    • 1970-01-01
    • 1970-01-01
    • 2011-09-04
    • 2010-11-20
    相关资源
    最近更新 更多