我正在尝试创建一个动画的子午线图表,看起来像Apple创建的活动应用程序。我提供了一个图像来显示我想要的结果:
你知道如何获得这个结果吗?如果您有任何想法,请关注以下几点?
非常感谢你。
答案 0 :(得分:8)
查看我的自定义控件,我尝试尽可能接近Activity应用程序设计,并且所有内容都可以自定义。
https://github.com/maxkonovalov/MKRingProgressView
算法背后的基本思想非常简单。
使用更改颜色绘制弧线:
您可以使用Photoshop中的预渲染图像或动态生成自己的图像。我从这里使用渐变图像生成器:https://github.com/maxkonovalov/MKGradientView。
CGContextSaveGState(ctx)
CGContextAddPath(ctx, arcPath)
CGContextClip(ctx)
CGContextDrawImage(ctx, gradientRect, gradientImage)
CGContextRestoreGState(ctx)
绘制阴影更简单:
我绘制一个圆形形状,匹配阴影的弧形末端。
CGContextSetShadow(ctx, offset, shadowRadius)
CGContextAddPath(ctx, shadowPath)
CGContextSetFillColorWithColor(ctx, shadowColor)
CGContextFillPath(ctx)
答案 1 :(得分:0)
这不是你需要的,因为它似乎为你生成图像,但你可以从源头获得一些好的信息。