私は、UILabel
ゼロから特定の値に増分するためにアニメーション化する必要がある数値を含む を持っています。ラベルは の内部に配置され、 のUITableView
サブビューですUITableViewCell
。奇妙な理由で、ビューのスクロール中に数字がアニメーション化されません。スクロール番号を一時停止すると、アニメーションが表示されます。なぜそうなのか、どうすれば修正できるのですか?
失敗するアプローチ1:
NSInteger fromValue = 0;
NSInteger toValue = 57; //In this example toValue has to be greater than fromValue
NSString *suffix = @"K";
NSTimeInterval interval = 0.016; //Adjust for different animation speed
NSTimeInterval delay = 0.0;
for (float i = fromValue; i <= toValue; i++)
{
NSString *labelText = [NSString stringWithFormat:@"%0.3f%@", i, suffix];
[numberLabel1 performSelector:@selector(setText:) withObject:labelText afterDelay:delay];
delay += interval;
}
2 つ目は、同じ機能を提供するが機能しない Giuthub の UICountingLabelを使用することでした。なんで?直し方?それを使用する私のコードは次のようになります。
UICountingLabel *numberLabel1 = [[UICountingLabel alloc] initWithFrame:CGRectMake(0, 105, winSize.width / 2, 40)]; //winSize is
numberLabel1.textAlignment = NSTextAlignmentCenter;
numberLabel1.method = UILabelCountingMethodLinear;
numberLabel1.format = @"%.3f";
[numberLabel1 countFrom:0 to:num1.floatValue withDuration:countDuration];
この「ダニ」を作る方法の他の方法はありますか?このアニメーションが本当にひどくスクロールできるようにする必要があります。
乾杯、ジャン。