ユーザーがIOSアプリケーションにデータを入力できるフォームを作成しています。このフォームを使用すると、ユーザーは多くの繰り返しデータを入力できます。そのため、プロセスに時間がかかる場合があり、このプロセス中にUIActivityIndicatorViewを表示したいと思います。
残念ながら、スピナーはプロセスの最後に1秒以内に表示され、期待どおりに最初に表示されません。
いくつかのコードがあります:
- (void) manageSpinner{
spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
[spinner setCenter:CGPointMake(self.view.bounds.size.width/2.0, self.view.bounds.size.height/2.0)]; // I do this becau I'm in landscape mode
UIImageView *imageView = [[UIImageView alloc]initWithFrame:self.tableView.bounds];
UIImage *image = [UIImage imageNamed:@"dark_gradiant.jpg"];
[imageView setImage:image];
[imageView addSubview:spinner];
[self.tableView addSubview:imageView];
[spinner startAnimating];
}
//On click save by the user
- (IBAction)save:(id)sender{
//Collect information from the form
myObject.name = nameTF.text;
[...]
if(informations OK[...]){
//Manage spinner
[self manageSpinner];
//Add : this is the long process
for (int i=0; i<nbRepeatChooseByUser; i++) {
[myObject register];
}
//Call the delegate that will dismiss the form
[self.delegate theSaveButtonOnTheAddMyObjectTVCWasTapped:self];
}
}
スピナーはaddingメソッドの前に呼び出されますが、プロセスの後にセットアップされているようです。
ありがとうございました、
アレクサンドル