更新されていない進行状況バーに問題があります(灰色になります)。私が使用して(MainViewController.m内部)クラスの中から、それを呼び出すとiOSの進行状況バーが更新されない
- (void)setProgress:(float)prog {
NSLog(@"Progressbar updated, value %f", prog);
self.progressBar.progress = prog;
}
:
// in MainViewController.m
[self setProgress:1.0];
すべてが素晴らしい働いている、私はMainViewController.mでプログレスバーを更新するには、このメソッドを得ましたバーは青色の進捗状況を示し、NSLog出力は値を取得します。
このプログレスバーを使用すると、別のクラス(processing.m)で実行されるループで処理を視覚化し、MainViewControllerに進行状況を示すメッセージを送信します。プロトコルを使用しています:
#import "progressProtocol.h"
@interface MainViewController : UIViewController <progressProtocol>
- (void)setProgress:(float)prog;
@end
とprocessing.mで:
// in processing.m
[self.delegate setProgress:1.0];
記載私は唯一の正しい値とのNSLog出力を取得するプロトコルを介してメッセージを送信することによってでsetProgressメソッドを呼び出すが、プログレスバーが移動していません値に!?メソッドの中にブレークポイントを設定すると、メソッドが呼び出されていることがわかりますが、プログレスバーは動いていません。
ループの中で、私はいくつかの時間について新しい値でメッセージを送信していますが、進捗バーには何も変更されていません。正しい値のNSLogだけです。何か案が?
あなたは、プロトコルとそれを呼び出すprog' 'の値が何であるかを確認してください。 – Frankie
バーはメインスレッドで更新されていますか?それはする必要があります。 – vadian
@Frankie:私はNSLogもprog NSLog(@ "Progressbar updated、value%f"、prog);の値を出力させて、値が正しいことを伝えさせました! – Hecot