私のアプリケーションでは、ビューの 1 つを読み込むのに通常よりも時間がかかるため (多くの画像を含むスクロール ビューです)、ビューの読み込み中に何が起こっているかをユーザーに知らせることにしました。そこで、読み込みに通常かかる時間をタイマーで表示するプログレス バーを追加しました。唯一の問題は、ボタンに触れたときに iPhone がまだビューをロードし、新しいビューが開いたときに進行状況バーが表示され、タイマーが開始されることです。進行状況バーがボタンと同じビューに表示され、ボタンが押されたときに 2 番目のビューが読み込まれ、進行状況バーがいっぱいになると 2 番目のビューに移動するように設定するにはどうすればよいですか。ここに私がこれまでに持っているコードがあります。
- (無効) ボタン
{{
if (!self.baseSheet) {
baseSheet = [[UIActionSheet alloc]
initWithTitle:@"Please Wait"
delegate:self
cancelButtonTitle:nil
destructiveButtonTitle: nil
otherButtonTitles: nil];
[baseSheet setNumberOfRows:5];
[baseSheet setMessage:@"Loading Photos"];
UIProgressView *progbar = [[UIProgressView alloc] initWithFrame:CGRectMake(50.0f, 70.0f, 220.0f, 90.0f)];
progbar.tag = PROGRESS_BAR;
[progbar setProgressViewStyle: UIProgressViewStyleDefault];
[baseSheet addSubview:progbar];
[progbar release];
}
UIProgressView *progbar = (UIProgressView *)[self.view viewWithTag:PROGRESS_BAR];
[progbar setProgress:(amountDone = 0.0f)];
[NSTimer scheduledTimerWithTimeInterval: 0.5 target: self selector: @selector(incrementBar:) userInfo: nil repeats: YES];
[baseSheet showInView:self.view];
[[self navigationController] pushViewController:[[ScrollViewController alloc] init]
animated:YES];
} }