【问题标题】:Motion paths drawn by finger [closed]手指绘制的运动路径[关闭]
【发布时间】:2014-04-18 18:11:59
【问题描述】:

我有兴趣在两个元素之间用手指制作路径(如连接对象)。我不确定我该如何开始。

我知道我可以使用 Bezier 路径来创建线条,但我不确定如何用手指创建该线条。谁有好的例子?

我试图用谷歌搜索它,但我找不到类似的东西。

谢谢

【问题讨论】:

标签: ios touch


【解决方案1】:

我最近回答了一个关于在类似设置上性能缓慢/滞后的问题。 IE。在 CALayer 中绘制 UIBezierPaths。答案包含 UIView 的子类,您可以将其放入情节提要中,并且几乎可以帮助您入门。头文件未显示在答案中,但它实际上是 UIView 的子类(只需将 UIView 子类添加到您的项目中)。您应该能够将其余部分复制到您的实现文件中。显然你会想要取出性能测试代码。

touchesMoved drawing in CAShapeLayer slow/laggy

如果你只是想添加一行,你只需要在 touchesBegan 中获取起点,并在 touchesMoved 中构建路径。 commitCurrentRendering 只是渲染累积的接触点,然后清除 UIBezierPath。这提高了性能,因为当 UIBezierPath 达到大约 2000 点时会出现明显的减速(当您的手指移动时,touchesMoved 会为您提供一系列点)。

【讨论】:

  • 这是一个巨大的例子,所以我想我可以从中挖掘一些东西。这会很难,因为我是 iOS 的初学者。
  • 你认为他们在这个游戏中使用了 UIBezierPath 什么itunes.apple.com/us/app/dots-a-game-about-connecting/…
  • 很难说,当然可以那样做,但你所需要的只是线的开始和结束(你想要一条直线)。因此,在每次 touchesMoved 时,从路径中删除所有点并仅添加第一个点和当前点。
  • 好的,谢谢,这听起来是个好建议
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多