ユーザーが uialertview の特定のボタンをクリックした場合、時間のかかる手順を実行する必要があります。実行中にアクティビティ インジケーターを使用してユーザーに通知したいと思います。目的の出力を得るために正確に何をする必要があるのか わかりません。フローは次のとおりです。
ユーザーがボタン 1 'Build the tower' をクリックします。
「これをしますか、時間がかかります」と表示されるUIAlertview
ユーザーが [はい] をクリックします。今、alertview Delegate メソッドを使用しています。
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
if (buttonIndex == 1) {//Yes the user wants to do this
//Show activity indicator here
UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
indicator.center = CGPointMake(alert.bounds.size.width / 2, alert.bounds.size.height - 50);
[indicator startAnimating];
[alertView addSubview:indicator];
[indicator release];
//
[SimpleFunctions doThatMethodThatTakesALongTime];
//remove activity indicator here
}
}
ここでは、「大きな処理」が完了する前にアクティビティ インジケーターを表示したいと考えています。
alertview にアクティビティ インジケーターを追加する例は、上記の alertview にインジケーターを追加する方法を示しています。しかし、ユーザーが「はい」をクリックするまで、そのインジケーターを表示したくありません。それを達成する方法についての指針は素晴らしいでしょう。質問が明確になったことを願っています。そうでない場合はお知らせください。
ありがとう