Показать анимацию UILabel - PullRequest
2 голосов
/ 07 марта 2012

Мне нужно показать сообщение, которое появляется с анимацией, и скрыть через несколько секунд также с анимацией.

Кто-нибудь знает, как это возможно?

Большое спасибо за все.

С уважением

1 Ответ

12 голосов
/ 07 марта 2012

Это просто, попробуйте объединить анимацию в цепочку.Сначала fadeIn, затем fadeOut.То, что делает приведенный ниже код, сначала устанавливает alpha в 0. Затем анимирует появление метки в 1 секунду.Как только это будет сделано, подождите 4 секунды, затем запустите анимацию fadeOut таким же образом.

[label setText:@"some text"];
[label setAlpha:0.0];
[UIView animateWithDuration:1.0 
                      delay:0 
                    options:UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction
                 animations:^(void) 
 {
     [label setAlpha:1.0];
 } 
                 completion:^(BOOL finished) 
 {
     if(finished)
     {
         [UIView animateWithDuration:1.5 
                               delay:4 
                             options:UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction
                          animations:^(void) 
          {
              [label setAlpha:0.0];
          } 
                          completion:^(BOOL finished) 
          {
              if(finished)
                  NSLog(@"Hurray. Label fadedIn & fadedOut");
          }];
     }
 }];

Этот способ объединения анимации в iOS является одним из наиболее эффективных способов сделать это.

...