使用UILabel的动画

New*_*per 10 ios

我有一个包含4个值的数组,它们将以2个不同的形式呈现UILabel.我将成对分组.在特定的秒中,标签递归地改变另一项对的值.

如果可能的话,我想给出一个像淡出或左右滑动效果的动画.

我已经看了一些内容,但没有任何意义.例如,这是一个工作动画(根据接受的答案):

[UIView animateWithDuration:1.0 delay:0.f options:(UIViewAnimationOptionAutoreverse| UIViewAnimationOptionRepeat)
   animations:^{
   playerScore.alpha=1.f;
   } completion:^(BOOL finished){
   playerScore.alpha=0.f;
   }];
Run Code Online (Sandbox Code Playgroud)

我不确定将代码放在何处,单独使用或单独使用viewDidLoad.任何人都可以提供线索和信息吗?这会很棒.

hol*_*lex 15

我不清楚你为什么需要这么多,UILabel因为你可以在改变当前文本时添加过渡动画UILabel.

UILabel *textLabel = // ... whatever

[textLabel setText:@"Initial text what I just write accidentally"];

CATransition *transitionAnimation = [CATransition animation];
[transitionAnimation setType:kCATransitionFade];
[transitionAnimation setDuration:0.3f];
[transitionAnimation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[transitionAnimation setFillMode:kCAFillModeBoth];
[textLabel.layer addAnimation:transitionAnimation forKey:@"fadeAnimation"];

[textLabel setText:@"New text will show after a nice fade effect"];
Run Code Online (Sandbox Code Playgroud)

它非常优雅,易于解决.


更新(2016年1月6日)

注:这是完成动画后会被自动删除(或取消,或者失败,或者其他),你需要知道再生为每个会话的动画或通过设置保持当前动画活着明确的 removedOnCompletion 财产 FALSE NO.

  • 我按照你的指示做了,但我甚至无法实现动画.链接持续时间仍然相同.只能看到"新文本..."字符串.怎么了?我把这些代码放在我的`viewDidLoad`中.另一个问题是,我需要一个动画循环.不仅是时间. (3认同)