Индикатор активности iPhone задерживается?

Поэтому, когда я нажимаю на аксессуар выноски в моем mapView, в течение нескольких секунд ничего не происходит, потому что он делает запрос URL и анализирует его, поэтому я хотел показать индикатор активности, чтобы пользователь не подумал, что он завис. Вот код:

- (void)mapView:(MKMapView *)mv annotationView:(MKAnnotationView *)pin calloutAccessoryControlTapped:(UIControl *)control {
    // start activity indicator 
    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
    NSLog(@"tapped");

    ArtPiece *artPiece = (ArtPiece *)pin.annotation;

    //when annotation is tapped switches page to the art description page
    artDescription *artD = [[artDescription alloc] initWithNibName:@"artDescription" bundle:nil];
    artD.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
    artD.startingLocation = mapView.userLocation.location.coordinate;
    artD.selectedArtPiece = artPiece;
    NSLog(@"0");
    [self presentModalViewController:artD animated:YES];
    NSLog(@"1");

    [artD loadArt:artPiece];
    NSLog(@"2");
    // stop activity indicator 
    //[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;

    [artD release];
}

Как ни странно (по крайней мере, для меня, может быть, я упускаю что-то очевидное, поскольку я довольно неопытен), индикатор активности не отображается до тех пор, пока метод не будет выполнен, и модальное представление не начнет анимироваться. Я вставил NSLogs, чтобы посмотреть, на что нужно время. У меня была пауза в 2 секунды между «0» и «1» и еще пара секунд между «1» и «2». Затем индикатор наконец-то показал, так что я уверен, что он по какой-то причине ждет окончания метода. Есть идеи, почему?

0
задан Halle 20 August 2011 в 15:16
поделиться