首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIBezierPath对相对路径的支持?

UIBezierPath对相对路径的支持?
EN

Stack Overflow用户
提问于 2020-06-12 10:21:59
回答 1查看 88关注 0票数 2

我将苹果文档读入UIBezierPath对象。我是否正确理解它不支持相对路径?

我正在尝试将这个svg路径转换为一个UIBezierPath:

代码语言:javascript
复制
// 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

我一开始是:

代码语言:javascript
复制
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)];
...

真的是这样吗还是我在这里错过了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-12 11:09:18

实际上,没有的“相对”点。

(如果真的需要的话,做一个扩展、功能或其他一些糖来使它整洁是微不足道的。在斯威夫特,我通常有这样的事情

代码语言:javascript
复制
go(across: 7.0, down: -2.5)
go(across: 4.0, down: -2.5)
go(across: 7.0, down: -2.5)

。。差不多吧。它只是为您想要的函数或扩展编写的几行代码。)

对不起,坏消息!)

我们做了很多与bezier相关的事情,下面是一些典型的代码。我使用了大量的助手调用,这样代码就更有意义了。

我想说的是,在编写代码以创建复杂的bezier材料时,我们确实必须建立在苹果原语的基础上。

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

https://stackoverflow.com/questions/62342244

复制
相关文章

相似问题

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