iOS动画iOS学习笔记iOS高阶UI相关

扇形图

2016-04-01  本文已影响203人  mieGod

项目中一个界面包含了扇形图,是下面这个样子。于是这里先写了一个简单的实现(是固定死的比例,以后再加比例就OK了)。

原理

利用CAShapeLayerUIBezierPath绘制。

主要代码

CAShapeLayer *circle = [CAShapeLayer layer];
    circle.lineWidth = lineWidth1;
    circle.path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(kScreenWidth/2, kScreenHeight/2) radius:raidus1 startAngle:0 endAngle:-2*M_PI clockwise:NO].CGPath;
    circle.strokeColor = [UIColor whiteColor].CGColor;
    circle.fillColor = [UIColor lightGrayColor].CGColor;
    [self.view.layer addSublayer:circle];

有一点需要注意的是lineWidth这个属性设置了之后会有一半覆盖掉半径,也就是说半径是100的话,设置lineWidth为50的话,看到的效果是里面的半径是100-50/2=75.(我当时找了好久的原因才发现这个问题)

结束

到这里就结束了,其实发现这个还是很简单的。这里有我完整的代码:点我查看

上一篇下一篇

猜你喜欢

热点阅读