2015-07-20 29 views
0

我有一个像标签上显示的“点(67)”字符串。我可以为NSAttributedString的大小||颜色设置动画效果吗?

有时在我的应用程序中,总点数可以通过NSNotification进行更改。

所以,也许它会变成“Points(117)”。我不希望这种情况立即发生,因为用户的眼睛可能会错过这一变化。我希望他们注意。

我想只动画67至117部分。可能的规模,随着它的变化可能增长10%,然后再缩小10%到原来的大小。或者也许是颜色。最好大小,但我猜这是不可能的,没有创建额外的标签。

这是可行的吗?

+0

是你问字体大小? – Mukesh

回答

1

你不能动画的字体大小,但是你可以缩放通过你可以实现你的目标的UILabel。

下面是两种显示UILabel字体大小变化的方法。

的UIView动画

[UIView transitionWithView:yourlabel duration:0.5 options:UIViewAnimationOptionTransitionCrossDissolve animations:^{ 

    yourlabel.font = [UIFont fontWithName:@"HelveticaNeue" size:14.0]; 

    }]; 

缩放动画

CABasicAnimation*scaleAnimation[CABasicAnimationanimationWithKeyPath:@"transform.scale.xy"]; 
scaleAnimation.fromValue = @(1); 
scaleAnimation.toValue = @00.5; 
scaleAnimation.duration = self.animationDuration; 

[yourlabel addAnimation:self.animationGroup forKey:@"pulse"]; 
0

你可以做下面的动画,使用户能够看到的变化:

[label setTransform:CGAffineTransformMakeScale(1.0, 1.0)]; 

[UIView animateWithDuration:0.3 animations:^ 
{ 
    [label setTransform:CGAffineTransformMakeScale(1.5, 1.5)]; 
} 
       completion:^(BOOL finished) 
{ 
    if(finished) 
    { 
     [UIView animateWithDuration:0.15 animations:^ 
      { 
       [label setTransform:CGAffineTransformMakeScale(1.0, 1.0)]; 
       label.text = @"Points (117)"; 
      }]; 
    } 

}]; 

你可以在c根据您的要求更改持续时间和比例....

希望这会帮助你。

相关问题