我画了一个条形图,它的工作正常,除了它没有动画。例如:填充颜色0- 50%。我使用简单的DrawRect方法来绘制。下面是我的代码:
- (void)drawRect:(CGRect)rect
{
CGFloat height = self.bounds.size.height;
CGContextRef context = UIGraphicsGetCurrentContext();
// CGContextClearRect(context, rect);
CGContextSetFillColorWithColor(context, [self colorWithR:149 G:21 B:29 A:1].CGColor);
CGFloat barWidth = 52;
int count = 0;
NSNumber *num = [NSNumber numberWithFloat:graphValue];
CGFloat x = count * (barWidth + 10);
CGRect barRect = CGRectMake(x, height - ([num floatValue] * height), barWidth, [num floatValue] * height);
CGContextAddRect(context, barRect);
count++;
CGContextFillPath(context);
}
有没有简单的方法添加动画?
1条答案
按热度按时间mklgxw1f1#
我相信你想让条形图的高度动画化。我建议您将每个栏实现为一个单独的UIview,一个简单的矩形。您也可以使用自定义绘图将它们全部放置在一个视图中。然后,您需要缩放这些视图或在动画块内更改其帧,方法如下:
或
一个伟大的教程见this。
这是一个例子,如果你没有很多时间。