2

テキストが変更されるたびに UILabel をアニメーション化したいと考えています。状況によっては、現在の温度 (57 度など) を含むラベルがあり、0 度から 57 度まで上昇するようにアニメーション化したいと考えています。ここに私が欲しいものを示すビデオがあります: http://www.youtube.com/watch?v=mXfOvGflVWw (iPhone と iPad 用の National Geographic Parks アプリの統計メニューにあります)そうする方法の正しい方向、それは素晴らしいでしょう。私は NSTimer のようなものを使用していたでしょうが、これらの値は動的です...

ありがとう!

4

1 に答える 1

3

確かに最も効率的ではありませんが、追加のインスタンス変数を必要とせずにこれを行うための非常に簡単な方法です。

NSInteger fromValue = 0;
NSInteger toValue = 57; //In this example toValue has to be greater than fromValue
NSString *suffix = @"°";
NSTimeInterval interval = 0.016; //Adjust for different animation speed
NSTimeInterval delay = 0.0;
for (NSInteger i = fromValue; i <= toValue; i++) {
    NSString *labelText = [NSString stringWithFormat:@"%i%@", i, suffix];
    [myLabel performSelector:@selector(setText:) withObject:labelText afterDelay:delay];
    delay += interval;
}
于 2012-07-29T19:17:03.490 に答える