分享

iOS 开发 简单饼状图 简单动画

 玄冰优 2016-03-01

由于工作业务需要,需要大量的统计图。
现在先从简单的开始整理,丰富自己帮助别人。
效果如图:
 
 
 
主要运用框架为:CAShapeLayer

CAShapeLayer有着几点很重要:

1. 它依附于一个给定的path,必须给与path,而且,即使path不完整也会自动首尾相接

2. strokeStart以及strokeEnd代表着在这个path中所占用的百分比

3. CAShapeLayer动画仅仅限于沿着边缘的动画效果,它实现不了填充效果

在画路径时,需要使用 [UIBezierPath bezierPathWithArcCenter:centerPoint
radius:radius startAngle:M_PI_2*3 endAngle:-M_PI_2 clockwise:NO];制定中心坐标,半径,起始角度和终止角度。很简单,不赘述。

基础设定:

  CAShapeLayer *layer = [CAShapeLayer layer];
    layer.frame         = showView.bounds;                // 与showView的frame一致
    layer.strokeColor   = [UIColor greenColor].CGColor;   // 边缘线的颜色
    layer.fillColor     = [UIColor clearColor].CGColor;   // 闭环填充的颜色
    layer.lineCap       = kCALineCapSquare;               // 边缘线的类型
    layer.path          = path.CGPath;                    // 从贝塞尔曲线获取到形状
    layer.lineWidth     = 4.0f;                           // 线条宽度
    layer.strokeStart   = 0.0f;             //起始
    layer.strokeEnd     = 0.1f;         //终止



demo中只暂时实现相对简单的效果,图1只需要在init输入简单的百分比,而图2的效果需要自己设定颜色和所占百分比的model数组。


PS:demo地址 https://github.com/Lian1990/ChartOne


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多