Я пытаюсь добавить анимацию в UIView. Цель анимации - «оживить» вид, появляющийся на экране (вместо того, чтобы просто появляться там).«Сбой» во время UIView Intro CAAnimation
Анимация - это масштабирование по размеру: начиная с 5%, до 120%, а затем очень быстро возвращается к 100% от обычной шкалы.
Моя проблема заключается в том, что полный масштаб UIView появляется очень быстро, до начала анимации.
Вот код:
UIView * myView = [[UIView alloc] initWithFrame:someFrame];
[self.view addSubview:myView];
[self initialAnimationFor:myView];
-(void) initialAnimationFor:(UIView*)pView {
const CFTimeInterval firstDuration = 0.75f;
const CFTimeInterval secondDuration = 0.025f;
const float initialValue = 0.05f;
const float middleValue = 1.20f;
CABasicAnimation * firstAnimation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
firstAnimation.duration = firstDuration;
firstAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
firstAnimation.fromValue = [NSNumber numberWithFloat:initialValue];
firstAnimation.toValue = [NSNumber numberWithFloat:middleValue];
CABasicAnimation * secondAnimation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
secondAnimation.duration = secondDuration;
secondAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
secondAnimation.fromValue = [NSNumber numberWithFloat:middleValue];
secondAnimation.toValue = [NSNumber numberWithFloat:1.0f];
CAAnimationGroup *animationGroup = [CAAnimationGroup new];
animationGroup.duration = firstDuration + secondDuration;
animationGroup.animations = @[firstAnimation, secondAnimation];
[pView.layer addAnimation:animationGroup forKey:nil];
}
Любые идеи? Благодаря!
попытаться использовать [анимация комплектDuration: 1.5]; [анимация комплектDelegate: self]; – ErasmoOliveira