Quartz2D绘制饼图

#import "PieView.h"

@implementation PieView


- (void)drawRect:(CGRect)rect {
    // Drawing code
    NSArray *data = @[ @15, @13, @22, @5, @10, @35 ];
    
    CGPoint center = CGPointMake(self.bounds.size.width * 0.5, self.bounds.size.height * 0.5);
    CGFloat radius = self.bounds.size.width * 0.5 - 10;
    CGFloat startAngle = 0;
    CGFloat endAngle = 0;
    CGFloat angle = 0;
    
    for (NSNumber *num in data) {
        startAngle = endAngle;
        angle = num.intValue / 100.0 * M_PI * 2;
        endAngle = startAngle + angle;
        UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:center radius:radius startAngle:startAngle endAngle:endAngle clockwise:YES];
        [path addLineToPoint:center];
        [[self randomColor] setFill];
        [path fill];
    }
}

- (UIColor *)randomColor
{
    CGFloat r = arc4random_uniform(256) / 255.0;
    CGFloat g = arc4random_uniform(256) / 255.0;
    CGFloat b = arc4random_uniform(256) / 255.0;
    return[UIColor colorWithRed:r green:g blue:b alpha:1.0];
}

@end



效果图如下:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值