我正在尝试创建一个动画的径向图表,看起来像Apple创建的活动应用程序.我提供了一个图像来显示我想要的结果:

你知道如何获得这个结果吗?如果您有任何想法,请关注以下几点?
非常感谢你提前.
看看我的自定义控件,我试图尽可能接近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)
Run Code Online (Sandbox Code Playgroud)
绘制阴影更简单:
我绘制一个圆形形状,匹配阴影的弧形末端.
CGContextSetShadow(ctx, offset, shadowRadius)
CGContextAddPath(ctx, shadowPath)
CGContextSetFillColorWithColor(ctx, shadowColor)
CGContextFillPath(ctx)
Run Code Online (Sandbox Code Playgroud)
CGContextSaveGState(ctx)
CGContextAddPath(ctx, circlePath)
CGContextClip(ctx)
// Draw shadow...
CGContextRestoreGState(ctx)
Run Code Online (Sandbox Code Playgroud)
最终结果如下:
| 归档时间: |
|
| 查看次数: |
1680 次 |
| 最近记录: |