您的位置:首页 > 移动开发 > IOS开发

IOS第16天(4,Quartz2D柱状图)

2015-09-01 17:09 471 查看
***

#import "HMBarView.h"
#import "UIColor+Random.h"
@implementation HMBarView

- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}

// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
// Drawing code
NSArray *data = @[@25,@25,@50];
int count = data.count;

CGFloat w = rect.size.width / (2 * count - 1);
CGFloat h = 0;
CGFloat x = 0;
CGFloat y = 0;
CGFloat viewH = rect.size.height;
// 1.获取上下文
CGContextRef ctx = UIGraphicsGetCurrentContext();

for (int i = 0; i < count; i++) {
h = viewH * [data[i] intValue] / 100.0;
x = 2 * w * i;
y = viewH - h;
// 2.拼接路径
UIBezierPath *path = [UIBezierPath bezierPathWithRect:CGRectMake(x, y, w, h)];

// 3.添加路径到上下文
CGContextAddPath(ctx, path.CGPath);

[[UIColor randomColor] set];

// 4.渲染
CGContextFillPath(ctx);
}

}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self setNeedsDisplay];
}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: