2015-07-20 60 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根據您的要求更改持續時間和比例....

希望這會幫助你。

相關問題