2012-03-07 99 views
2

我需要显示一条消息,该消息与动画一起出现,并在动画几秒后隐藏。显示UILabel动画

有谁知道这是可能的吗?

非常感谢您的一切。

关于

+0

查看http://stackoverflow.com/questions/3438880/animating-uilabel-fade-in-out的答案,我认为这将满足您的需求。 – 2012-03-07 14:25:38

+1

使用给定的答案,因为上面的链接使用不推荐的动画方式。给定的答案使用块,这是更直观,苹果建议从现在开始做的方式。 – 2012-03-07 14:32:19

回答

12

很简单,试着将动画链接在一起。首先淡入,然后淡出。下面的代码首先将alpha设置为0.然后在1秒内对标签的外观进行动画处理。一旦完成,等待4秒钟,然后以相同的方式开始淡出输出动画。

[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中链接动画的方法是最有效的方法之一。