如何使用UITouch转换UIBezierPath

问题描述 投票:0回答:1

我正在尝试更改本教程中创建的UIBezierPath的形状:[https://www.appcoda.com/bezier-paths-introduction/]我创建了此方法来绘制两条线之一:

func createLine(x: CGFloat, y: CGFloat)
{
    var path = UIBezierPath()
    path.move(to: CGPoint(x: 0.0, y: 0.0))
    path.addLine(to: CGPoint(x: x, y: y))
    path.close()
    UIColor.orange.setFill()
    path.fill()
    UIColor.purple.setStroke()
    path.stroke()
}

为了更容易理解我想做什么,我做了这个。我希望能够在不更改y位置的情况下将两行的结尾在x上向左和向右移动

enter image description here

除动画外,我什么也没找到。但这不是我想要完成的。三角形的顶部应跟随手指的移动。谢谢

ios swift uibezierpath uitouch
1个回答
0
投票

以粗略的方式执行此操作当然并不难:

enter image description here

在该代码中,我只是将顶点设置为手指所在的位置,然后重画整个贝塞尔曲线路径。因此,这里的所有内容都只是一个优化问题-例如,减少延迟(您可以通过预期触摸来完成)。

© www.soinside.com 2019 - 2024. All rights reserved.