2016-06-16 3 views
0

任意のプロセスが実行されている間に、ユーザーのために画面上にステータスを提示する必要があります。どのくらいの時間がかかるかわからない。どうすればprogressViewを永久に増やすことができますか(1に近づくにつれて減速します)。進捗状況ビューの無限ステップですか?

答えて

0

可能な解決策の1つは、距離の半分を最後まで増やすことです。最初にprogressviewが0になると、1から0までの距離を取って2で割ります。だから(1-0)/2 = .5。次回は(1-.5)/2 = .25になるので、.25を加えて.75を追加すると、これはうまくいくはずですが、これは最初の段階では非常に迅速な解決策ではないでしょうし、ユーザーは最初の部分が半分になったと仮定します完了し、進捗状況が大幅に遅くなります

0

あなたは任意のプロセスについてもう少し詳しく述べる必要があると思いますが、通常は無限の進捗状況は、回転しているサークルか、 。ビューには、発生していることのテキストで更新できるラベルを含めることができます。

計算を行うには、合計金額と現在金額が必要です。あなたがアニメーションを遅くする必要がある場合は、ちょうどあなたが喜んでいる場合

1

Thisはあなたの親友になるアニメーションの再生時間を増やす代わりに、私

var objects = [Object]() 
progressView.label.text = "starting" 
progressView.startAnimating() 
var i = 0 
for object in objects { 
    progressView.label.text = "processing \(i + 1) of \(objects.count)" 
    doProcess(object) 
    progressView.label.text = "processed \(i + 1) of \(objects.count)" 
    i = i + 1 
} 
progressView.label.text = "done" 

:だから、ループ内のインスタンスのためにあなたは、このような何かを行うことができます進行状況のビューを置き換える!それはあなたが望むすべてを持っています。

関連する問題