iOS アクティビティ インジケーターの標準コードと思われるものを実装していますが、表示されません。これは、ここからのアドバイスに従って、私がしていることです。
でviewDidLoad
:
indicator = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
indicator.frame = CGRectMake(0, 0, 80.0, 80.0);
indicator.hidden = NO;
indicator.center = self.view.center;
[self.view insertSubview:indicator atIndex:100]; // to be on the safe side
[indicator bringSubviewToFront:self.view];
[UIApplication sharedApplication].networkActivityIndicatorVisible = TRUE;
次にviewWillAppear
、長いプロセス メソッドを呼び出す直前に、次のようにします。
[NSThread detachNewThreadSelector:@selector(threadStartAnimating:) toTarget:self withObject:nil];
私のスレッドはアニメーションを開始します:
-(void)threadStartAnimating:(id)data
{
[indicator startAnimating];
}
次に、バックグラウンドでいくつかの作業を行う Parse.com メソッドがあります。
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if(!error) {
// do some work
[indicator stopAnimating];
}
}
私が見る限り、これはうまくいくはずです。しかし、そうではありません。私は何が欠けていますか?