1

2 つのビューがあります 1) A 2) B

ビュー A からビュー B にセグエすると、読み込みに時間がかかるため、セグエにアクティビティ インジケーターを追加しました。

私の問題は、ビュー B に移動すると、ビュー A で画面がフリーズ (ロード) し、ビュー B に移動する前にアクティビティ インジケーターが一瞬だけ表示されることです。

読み込みを開始する前にアクティビティ インジケーターが表示されるようにするにはどうすればよいですか。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

{

[self useActivityIndicator];


if ([[segue identifier] isEqualToString:@"ShowAdsDetail"])
{
    //do anything that needs to be done



}

}

    -(void)useActivityIndicator{

[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
[activityView startAnimating];
subView.hidden = NO;

}
4

2 に答える 2

0

次のようにコードを変更するだけです。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
   dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
      [self useActivityIndicator];
   });

   if ([[segue identifier] isEqualToString:@"ShowAdsDetail"])
   {
      //do anything that needs to be done
   }
}



-(void)useActivityIndicator
{
       dispatch_async(dispatch_get_main_queue(),^{
         [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
         [activityView startAnimating];
         subView.hidden = NO;
      });
}
于 2013-01-09T18:28:02.637 に答える