画饼图

创建PiaView 继承UIView,所在的UIView中的中进行绘制


- (void)drawRect:(CGRect)rect {

    NSArray *arr = @[@25,@25,@50];

    CGPoint center = CGPointMake(rect.size.width*0.5, rect.size.height *0.5);

    CGFloat radius = rect.size.width*0.5 - 10;

    CGFloat startA = 0;

    CGFloat angle = 0;

    CGFloat endA = 0;

    for (NSNumber *num in arr) {

        startA = endA;

        angle = num.intValue / 100.0 * M_PI * 2;

        endA = startA +angle;

        UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:center radius:radius startAngle:startA endAngle:endA clockwise:YES];

        [[self randomColor]set];

//        [[UIColor redColor]set];

        [path setLineWidth:5];

        [path addLineToPoint:center];

        [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;

    [UIColor colorWithRed:r/255 green:g/255 blue:b/255 alpha:1];

    return [UIColor colorWithRed:r green:g blue:b alpha:1];

}


-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event

{

//    重绘

    [self setNeedsDisplay];

}


@end


猜你喜欢

转载自blog.csdn.net/qq_36747738/article/details/78680133