Wenn also ein Benutzer auf eine Schaltfläche in meiner App klickt, möchte ich eine neue Ansicht mit einem Aktivitätsindikator erstellen und den gesamten Bildschirm damit abdecken, bis die Schaltfläche Aktion beendet ist.Wie kann ich meine Aktivitätsanzeige auf den gesamten Bildschirm projizieren?
Allerdings ist meine Aktivitätsanzeige Ansicht innerhalb einer Tabellenansicht nur bedeckt, es sieht aus wie diese:
Wie es ganzen Bildschirm decken machen? Einschließen des Navigationscontrollers und der Symbolleiste der Tabellenansicht.
Hier ist mein Code verwende ich die Ansicht zu erstellen:
self.overlayView = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.overlayView.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.5];
self.activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
self.activityIndicator.center = self.overlayView.center;
[self.overlayView addSubview:self.activityIndicator];
[self.activityIndicator startAnimating];
[self.tableView addSubview:self.overlayView];
+1, da dies auch drehen richtig (shabzco Lösung nicht). – Till
@CodaFi Danke, es hat funktioniert. Aber wie kann ich die Ansicht entfernen? Jetzt, wenn ich [self.activityIndicator removeFromSuperview]; [self.overlayView removeFromSuperview]; es funktioniert nicht. –
Ich habe meine Overlay-Ansicht mit einem Tag versehen: overlayView.tag = 1 und dann das Tag verwendet, um das Overlay zu identifizieren, um es zu entfernen: [[self.navigationController.view viewWithTag: 1] removeFromSuperview]; – JanB