анимация UIImageView для диаграммы - PullRequest
0 голосов
/ 16 сентября 2011

Я пытаюсь создать простую гистограмму из 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;
}

Все, что я делаю здесь, очень просто, просто используя преобразование для получения анимации.Результат анимации можно увидеть здесь .

Теперь то, что я хочу сделать, это на самом деле получить мой окончательный график, подобный этому:

enter image description here

Теперь одна проблема, которую я вижу здесь сейчас, это загнутая вверху граница.Я не могу сделать это с тем, что у меня есть.Так какое же самое простое решение сделать это?

1 Ответ

0 голосов
/ 16 сентября 2011

Попробуйте это:

newBar.layer.cornerRadius = 5;//or any other value

К сожалению, это установит радиус всех четырех углов.Возможно, вам придется скрыть два нижних угла и соответственно отрегулировать высоту или добавить другой вид изображения в верхней части нижней части newBar.

...