UICircularProgressViewを使用していて、好みに合わせて変更しました。初期化は明確ですが、とにかく投稿します:
UICircularProgressView *wheelProgress = [[UICircularProgressView alloc]initWithFrame:CGRectMake(someFrame)];
それから私は正しい進歩を設定していますCGFloat between 0-1
CGFloat progress = .3; // example
[self.wheelProgress setProgress:progress];
これは問題なく動作し、見栄えもしますが、どういうわけかアニメーション化したいと思います。私はこれまでアニメーションを扱ったことがないので、最初のアプローチは次のようなものでした。
for(tempProgress =! progress){
incrementing tempProgress
setting tempProgres to progressView
}
もちろん、これは非常に醜く、他のすべての進行をブロックします。
私が達成したいのは、0からその最終値までの進行状況の線形アニメーションです。
私が見た:アニメーションチュートリアル
そして、このようなものを思いついた:
CGContextRef context = UIGraphicsGetCurrentContext();
[UIView beginAnimations:nil context:context];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationDuration: 1];
wheelProgress.progress = (progress) ? progress : 0.0;
[UIView commitAnimations];
しかし、どういうわけかこれは機能しません。
ここで修正する必要があるアイデアはありますか?
事前に感謝しますセバスチャン