swift - 使用 anchor 修改平滑曲线

标签 swift core-graphics uigesturerecognizer uibezierpath

我想模仿 this使用 Swift 在 Xcode 中的效果。经过一些研究,我设法找到了一些关于使用一组点绘制平滑曲线的文章。但我仍然不清楚如何在用户触摸/按住屏幕时动态修改曲线

问题:

我知道如何制作平滑的贝塞尔曲线,但我如何添加手势识别器以便通过拖动曲线改变其形状。

我只需要有人为我指明正确的方向。是否有特别有用的指南或文章?

最佳答案

  1. 为曲线的每个控制点创建透明的 ControlPointView,大小为 50*50pt,以便用户可以轻松地点击和拖动它们。
  2. 在每个 ControlPointView 的中间添加一个小图像,以便用户可以看到控制点所在的位置。
  3. 在每个 ControlPointView 上添加 UIPanGestureRecognizer 并在 View Controller 中处理它。
  4. 每次手势识别器的状态发生变化时,使用控制点中心重建UIBezierPath

关于swift - 使用 anchor 修改平滑曲线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42535411/

相关文章:

ios - self.tabBarController!.viewControllers 返回 nil

ios - NSTextStorage 里面有长文本。表现

ios - 无法在 Swift 4 中将值打印到标签。展开可选值错误时意外发现 nil

ios - 在 MKMapSnapshotter 上绘制一个 MKCircleRenderer

ios - 为 ColorPicker 生成 UIImage(CGDataProvider 和 CGI​​mageSource)

ios - 使用 prepareForSegue 将 Cell 数据发送到 destinationViewController

ios - MKDirections : Directions Not Available

ios - 核心图形绘制同心圆并填充它们之间的间隙

ios - UILongPressGestureRecognizer 识别其 View 外的触摸

iphone - 识别不在某个 subview 中的手势