2009-08-14 17 views
0

Ich habe eine UIActivityIndicatorView, die mit einer Nachricht anzeigt, um dem Benutzer anzuzeigen, dass die nächste Ansicht geladen wird, wenn der Benutzer Ansichten wechselt oder zu einer anderen Ansicht auf sagen ein Klick auf eine Schaltfläche geleitet wird. Ich habe die UIActivityIndicatorView hinzugefügt, damit die Daten, die abgerufen werden sollen, in der aktuellen Ansicht von einer API angezeigt werden können, bevor die Benutzerinteraktion aktiviert wird. Die UIActivityIndicatorView wird ordnungsgemäß mit der Wartemeldung animiert, da die aktuelle Ansicht im Hintergrund geladen wird. Aber selbst nachdem das Laden der Ansicht abgeschlossen ist, hört die UIActivityIndicatorView nicht auf zu animieren und läuft für immer weiter !! Ich habe versucht sowohl [Animieren stoppen] als auch removefromSuperview, aber beide scheinen nicht zu funktionieren. Ich muss dieses Problem dringend lösen.iphone - UIActivityIndicatorView hört nicht auf zu animieren

Heres der Code: - (void) showWorkInProgress { NSAutoreleasePool * Pool = [[NSAutoreleasePool alloc] init];

progressAlert = [[UIAlertView alloc] initWithTitle:@"Loading Data" 
                  message:@"Please wait..." 
                  delegate: self 
               cancelButtonTitle: nil 
               otherButtonTitles: nil]; 


    activityView = [[UIActivityIndicatorView alloc] 

initWithActivityIndicatorStyle: UIActivityIndicatorViewStyleWhite]; activityView.frame = CGRectMake (139.0f-18.0f, 80.0f, 37.0f, 37.0f); [FortschrittAlert addSubview: activityView];

[activityView startAnimating]; 

    [progressAlert show]; 

    [pool drain]; 

} - (void) {viewDidLoad

self.title = @"WordLife"; 
    UIImage *image = [UIImage imageNamed: @"cena.png"]; 
    UIImageView *imageview = [[UIImageView alloc] initWithImage: image]; 
    self.navigationItem.titleView = imageview; 

    [imageview release]; 
    self.navigationItem.leftBarButtonItem.title = @"Back"; 


    [activityView removeFromSuperview]; 
    activityView = nil; 
    [super viewDidLoad]; 

}

Antwort

1

Können Sie Ihren Code schreiben? Vielleicht ersetzen Sie den ersten UIActivityIndicatorView durch einen anderen oder rufen Sie den sopAnimating-Selektor auf, bevor er mit der Animation beginnt?
Vielleicht eine bessere Lösung: Platzieren Sie ein NSLog (@ "Ist die Funktion aufgerufen?") Nach (oder vor) Sie den StopAnimating-Selektor aufrufen, so dass Sie (im Protokoll) sehen können, wenn der Selektor ' stopAnimating'-Selektor wird aufgerufen.

Verwandte Themen