首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Swift更新addQuadCurve控制点?

Swift更新addQuadCurve控制点?
EN

Stack Overflow用户
提问于 2018-06-06 00:14:07
回答 1查看 917关注 0票数 0

有没有办法动态调整bezierpath的四次曲线的控制点?

我正在为孩子们创建一个小的拖拽绘图应用程序。我想让它们在画布上添加一条线,然后调整曲线点,使用手指拖动来创建微笑或皱眉。

我目前正在使用UIBezierPath绘制一条简单的线条,并且我已经向父对象添加了一个手势识别器。我试着删除所有的点,在拖动时添加一个新的四次曲线,以及用新的控制点坐标重新绘制路径。

下面是我创建路径的方法:

代码语言:javascript
复制
  //path defined else where
     func createBezierPath (withRectRef rectRef: RectFramer)-> UIBezierPath {


        path.move(to: rectRef.bottomLeft)
        path.move(to: rectRef.bottomRight)
        path.move(to: rectRef.topRight)
        path.addQuadCurve(to: rectRef.topLeft, controlPoint: CGPoint(x:rectRef.midX, y: rectRef.midY )) // top middle control point

        return path

    }

将其添加到视图

代码语言:javascript
复制
let shapeLayer = CAShapeLayer()
shapeLayer.path = createBezierPath(withRectRef: frameRef!).cgPath

        shapeLayer.strokeColor = UIColor.blue.cgColor
        shapeLayer.fillColor = UIColor.clear.cgColor
        shapeLayer.lineWidth = 4.0
        shapeLayer.position = CGPoint(x: 0, y: 0)
        self.backgroundColor = UIColor.clear

        // add the new layer to our custom view
        self.layer.addSublayer(shapeLayer)

        let gestureRecognizer = UIPanGestureRecognizer(target: self, action: #selector(handlePan))
        gestureRecognizer.delegate = self
        self.addGestureRecognizer(gestureRecognizer)

如有任何帮助或建议,我们将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-06 07:23:30

我无法实现我想要的,试图调整现有path..instead的四次曲线,我必须每次都用调整后的曲线重新绘制路径。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50704663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档