2

卵を産む場所がわかりません。progreesView の進行状況を更新する必要があります。IB で UIProgressView を作成し、色のみを変更します。プロパティと次のコードがあります

@property (weak, nonatomic) IBOutlet UIProgressView *progressView;

IB のアウトレットに接続するプロパティ

- (void)viewDidLoad
{
[super viewDidLoad];
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"DefaultSS.png"]];
}


- (void) viewDidAppear:(BOOL)animated
{
  [self connectToServer];
}


- (void) connectToServer
{
  //some code...
    sleep(2);
[self.progressView setProgress:0.2 animated:YES];
sleep(1);
[self.progressView setProgress:0.4 animated:YES];
sleep(1);
[self.progressView setProgress:0.7 animated:YES];
sleep(1);
[self.progressView setProgress:1.0 animated:YES];
sleep(1);
 //some code...
 }

スリープはうまく機能しますが、UIProgressView の進行状況は時間とともに変化しません。どこを間違えた?

4

1 に答える 1

4

sleep() はメイン スレッドをブロックするため、UI の更新は行われません。NSTimer などを使用する必要があります。

于 2013-03-06T19:39:18.190 に答える