gpt4 book ai didi

ios - 在 IOS 上使用 Quartz 2d 以编程方式绘制线条动画

转载 作者:行者123 更新时间:2023-11-29 05:07:07 25 4
gpt4 key购买 nike

我正在尝试使用 Quartz 2d 绘制一条动画生长线,方法是随着时间的推移逐渐向现有线条添加点。我开始绘制一条新线,在 UIView 的 drawRect 方法中,通过获取 CGContextRef、设置其绘制属性并将第一个点移动到 (0,0)。

CGContextRef context= UIGraphicsGetCurrentContext();
CGContextSetStrokeColorWithColor(context,[UIColor blueColor].CGColor);
CGContextSetLineWidth(context, 2);
CGContextMoveToPoint(context,0,0);

后来,在我的下一个drawRect调用中,我尝试扩展该行,再次获取CGContextRef,并向其添加一个新点。

GContextRef context= UIGraphicsGetCurrentContext();
CGContextAddLineToPoint(context,x,y);

但似乎当前的 CGContextRef 没有任何关于我上次调用 drawRect 的 CGContextMoveToPoint 命令的记录,因此没有任何我已经开始绘制线条的引用。

我在这里做错了什么吗?有没有办法引用已经画好的线?

最佳答案

您基本上需要将每次调用 drawRect 视为从头开始。即使只要求您更新 View 的子矩形,您也应该假设与图形上下文关联的任何状态(例如绘图位置和颜色)都将被重置。因此,在您的情况下,您需要跟踪起始位置并每次重新绘制整条线。

关于ios - 在 IOS 上使用 Quartz 2d 以编程方式绘制线条动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4498293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com