【发布时间】:2014-04-18 18:11:59
【问题描述】:
我有兴趣在两个元素之间用手指制作路径(如连接对象)。我不确定我该如何开始。
我知道我可以使用 Bezier 路径来创建线条,但我不确定如何用手指创建该线条。谁有好的例子?
我试图用谷歌搜索它,但我找不到类似的东西。
谢谢
【问题讨论】:
我有兴趣在两个元素之间用手指制作路径(如连接对象)。我不确定我该如何开始。
我知道我可以使用 Bezier 路径来创建线条,但我不确定如何用手指创建该线条。谁有好的例子?
我试图用谷歌搜索它,但我找不到类似的东西。
谢谢
【问题讨论】:
我最近回答了一个关于在类似设置上性能缓慢/滞后的问题。 IE。在 CALayer 中绘制 UIBezierPaths。答案包含 UIView 的子类,您可以将其放入情节提要中,并且几乎可以帮助您入门。头文件未显示在答案中,但它实际上是 UIView 的子类(只需将 UIView 子类添加到您的项目中)。您应该能够将其余部分复制到您的实现文件中。显然你会想要取出性能测试代码。
touchesMoved drawing in CAShapeLayer slow/laggy
如果你只是想添加一行,你只需要在 touchesBegan 中获取起点,并在 touchesMoved 中构建路径。 commitCurrentRendering 只是渲染累积的接触点,然后清除 UIBezierPath。这提高了性能,因为当 UIBezierPath 达到大约 2000 点时会出现明显的减速(当您的手指移动时,touchesMoved 会为您提供一系列点)。
【讨论】: