0

iPadアプリで次のことができるようにしたい:

1 - UiButton が押された

2 - 「読み込み中」のアニメーション GIF が表示されます

3 - gif が表示された後、presentViewController メソッドを使用してターゲット ページを開きます。

4 - ターゲット ページの ViewDidLoad は、SQL データベースのデータにアクセスするために使用されます (そのページのテーブルにデータを入力するために使用されます)。

アニメーションgifを表示したいのはデータの読み込みに時間がかかるためで、これを行うための次のコードがありますが、機能しません。ボタンが押されると青色に変わり、ページが変わる直前に Loading gif が表示されるだけで遅延が発生します。Loading gif が表示される前に、上記のステップ 4 が実行されているようです。私が間違っていること、またはこれを回避する方法を誰かが説明できますか?

- (IBAction)webObservations:(id)sender {
[loadingGif setAlpha: 1];

NSArray *imageArray = [[NSArray alloc] initWithObjects:[UIImage imageNamed:@"g0.png"], [UIImage imageNamed:@"g1.png"], [UIImage imageNamed:@"g2.png"], [UIImage imageNamed:@"g3.png"], [UIImage imageNamed:@"g4.png"], [UIImage imageNamed:@"g5.png"], [UIImage imageNamed:@"g6.png"], [UIImage imageNamed:@"g7.png"], [UIImage imageNamed:@"g8.png"], [UIImage imageNamed:@"g9.png"], nil];
loadingGif = [[UIImageView alloc] initWithFrame:CGRectMake(305, 402, 152, 14)];
[self.view addSubview:loadingGif];
loadingGif.animationImages = imageArray;
loadingGif.animationDuration = 1.5;
[loadingGif startAnimating];

ObViewControllerAdminMenu *monitorMenuViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"webObservations"];
monitorMenuViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentViewController:monitorMenuViewController animated:YES completion:nil];

}

4

2 に答える 2

0

最後に非常に簡単です。方向性を示してくれたウェインに感謝します。

gif アニメーション コードの読み込みを、loadAnimation という独自のプロシージャに移動します。次に、元の手順のこのコードを次のように置き換えます。

[NSThread detachNewThreadSelector:@selector(loadAnimation) toTarget:self withObject:nil];
于 2013-09-04T10:33:57.050 に答える