UIBezierPath 支持相对路径?
UIBezierPath support for relative paths?
我阅读了 UIBezierPath 对象的 Apple 文档。我是否理解正确它不支持相对路径?
我正在尝试将此 svg 路径转换为 UIBezierPath:
// svg path
m90 36c-7 0-13 6-13 13s6 13 13 13 13-6 13-13-6-13-13-13zm-27 32c-7 0-13 6-13 13s6 13 13 13 13-6 13-13-6-13-13-13z
我开始于:
UIBezierPath* myPath = [UIBezierPath bezierPath];
CGPoint currentPoint;
[myPath moveToPoint:CGPointMake([self sizeDependendX:90], [self sizeDependendY:36])];
currentPoint = CGPathGetCurrentPoint(myPath.CGPath);
[myPath addCurveToPoint:CGPointMake(currentPoint.x - 13, currentPoint.y + 13)
controlPoint1:CGPointMake(currentPoint.x + 7, currentPoint.y + 0)
controlPoint2:CGPointMake(currentPoint.x - 13, currentPoint.y + 6)];
currentPoint = CGPathGetCurrentPoint(myPath.CGPath);
[myPath addCurveToPoint:CGPointMake(currentPoint.x + 13 ,currentPoint.y + 13)
controlPoint1:CGPointMake(currentPoint.x + 0, currentPoint.y + 7)
controlPoint2:CGPointMake(currentPoint.x + 6, currentPoint.y + 13)];
...
是真的要这样还是我错过了什么?
的确,只有没有个“相对”点。
(如果真的需要,做一个扩展、函数或其他一些糖来使它整洁是微不足道的。在 Swift 我通常有类似
go(across: 7.0, down: -2.5)
go(across: 4.0, down: -2.5)
go(across: 7.0, down: -2.5)
..之类的。只需几行代码即可实现您想要的功能或扩展。)
不好意思! :)
我们做了很多与贝塞尔曲线相关的事情,下面是一些典型的代码如何为我们寻找。我使用了无数次帮助程序调用,以便代码更有意义。
我想说的是,在编写代码来创建复杂的贝塞尔曲线时,确实必须以 Apple 的原语为基础 material。
我阅读了 UIBezierPath 对象的 Apple 文档。我是否理解正确它不支持相对路径?
我正在尝试将此 svg 路径转换为 UIBezierPath:
// svg path
m90 36c-7 0-13 6-13 13s6 13 13 13 13-6 13-13-6-13-13-13zm-27 32c-7 0-13 6-13 13s6 13 13 13 13-6 13-13-6-13-13-13z
我开始于:
UIBezierPath* myPath = [UIBezierPath bezierPath];
CGPoint currentPoint;
[myPath moveToPoint:CGPointMake([self sizeDependendX:90], [self sizeDependendY:36])];
currentPoint = CGPathGetCurrentPoint(myPath.CGPath);
[myPath addCurveToPoint:CGPointMake(currentPoint.x - 13, currentPoint.y + 13)
controlPoint1:CGPointMake(currentPoint.x + 7, currentPoint.y + 0)
controlPoint2:CGPointMake(currentPoint.x - 13, currentPoint.y + 6)];
currentPoint = CGPathGetCurrentPoint(myPath.CGPath);
[myPath addCurveToPoint:CGPointMake(currentPoint.x + 13 ,currentPoint.y + 13)
controlPoint1:CGPointMake(currentPoint.x + 0, currentPoint.y + 7)
controlPoint2:CGPointMake(currentPoint.x + 6, currentPoint.y + 13)];
...
是真的要这样还是我错过了什么?
的确,只有没有个“相对”点。
(如果真的需要,做一个扩展、函数或其他一些糖来使它整洁是微不足道的。在 Swift 我通常有类似
go(across: 7.0, down: -2.5)
go(across: 4.0, down: -2.5)
go(across: 7.0, down: -2.5)
..之类的。只需几行代码即可实现您想要的功能或扩展。)
不好意思! :)
我们做了很多与贝塞尔曲线相关的事情,下面是一些典型的代码如何为我们寻找。我使用了无数次帮助程序调用,以便代码更有意义。
我想说的是,在编写代码来创建复杂的贝塞尔曲线时,确实必须以 Apple 的原语为基础 material。