我正在尝试从UIImageView创建一个简单的条形图,到目前为止我的代码是:
- (void)createNewBarWithValue:(float)percent andImage:(UIImageView *)newBar
{
CABasicAnimation *scaleToValue = [CABasicAnimation animationWithKeyPath:@"transform.scale.y"];
scaleToValue.toValue = [NSNumber numberWithFloat:percent*2.5];
scaleToValue.fromValue = [NSNumber numberWithFloat:0];
scaleToValue.duration = 1.5f;
scaleToValue.delegate = self;
newBar.layer.anchorPoint = CGPointMake(0.5, 1);
[newBar.layer addAnimation:scaleToValue forKey:@"scaleUp"];
CGAffineTransform scaleTo = CGAffineTransformMakeScale( 1.0f, percent * 2.5);
newBar.transform = scaleTo;
}
我在这里所做的一切都非常简单,只需使用转换来获取动画。可以看到动画的结果here。
现在我想要做的就是让我的最终图表如下:
现在我在这里看到的一个问题是顶部的走投无路的边界。我不能用我现在拥有的东西来做这件事。那么最简单的解决办法是什么呢?
答案 0 :(得分:0)
试试这个:
newBar.layer.cornerRadius = 5;//or any other value
不幸的是,这将设置所有四个角的半径。您可能必须隐藏底部的两个角并相应地调整高度,或者在newBar
的底部顶部添加另一个图像视图。