IPHONE - появление и исчезновение UIImageView в разное время

StackOverflow https://stackoverflow.com/questions/2285140

  •  21-09-2019
  •  | 
  •  

Вопрос

Я хотел бы выполнять затухание в UIImageView и из него, используя разное время, скажем, используя следующие параметры:

  • t = 0 ...Альфа UIImageView = 0
  • t = 0,5 с...Альфа UIImageView = 0.7
  • t = 0,7 с...Альфа UIImageView = 0

Возможно ли это сделать с помощью CAAnimation или другого метода?Как это можно сделать?

спасибо за любую помощь!

Это было полезно?

Решение

Вероятно, вам следует заглянуть в CAKeyframeAnimation.Это позволит вам установить значения для нескольких временных точек.

Другие советы

if (imgDefault.alpha == 0.0) {
    CGContextRef context = UIGraphicsGetCurrentContext();
        [UIView beginAnimations:nil context:context];
        [UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
        [UIView setAnimationDuration: 3.0];
        [UIView setAnimationDelegate: self];
        imgDefault.alpha = 1.0;
        [UIView commitAnimations];
}
else {
    CGContextRef context = UIGraphicsGetCurrentContext();
        [UIView beginAnimations:nil context:context];
        [UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
        [UIView setAnimationDuration: 3.0];
        [UIView setAnimationDelegate: self];
        imgDefault.alpha = 0.0;
        [UIView commitAnimations];
}

надеюсь, это поможет

В UIView есть setAnimationDidStopSelector:метод, который вы можете использовать.Просто настройте анимацию fade in с помощью блока beginAnimations и установите селектор didStop на другой метод, который содержит только блок анимации fade out.Каждый из этих анимационных блоков может иметь разную продолжительность анимации.

Что- то вроде этого:

    [UIView beginAnimations:next context:context];
    [UIView setAnimationDuration:0.5];
    [UIView setAnimationDelegate:self];
    [UIView setAnimationDidStopSelector:@selector(fadeOut:finished:context:)];
    myView.alpha = 0.7;
    [UIView commitAnimations];

-(void)fadeOut:(NSString*)animationID finished:(BOOL)finished context:(void*)context  {
    [UIView beginAnimations:nil context:context];
    [UIView setAnimationDuration:0.2];
    myView.alpha = 0.0;
    [UIView commitAnimations];
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top