Quindi, quando un utente fa clic su un pulsante nella mia app, vorrei creare una nuova vista con un indicatore di attività e coprire l'intero schermo con esso fino al termine dell'azione del pulsante.Come rendere la visualizzazione dell'indicatore di attività l'intera schermata?
Tuttavia, la mia attività di indicatore di vista è che copre solo all'interno di una vista tabella, sembra che questo:
come farlo coprire tutto lo schermo? Compreso il controller di navigazione e la barra degli strumenti di visualizzazione tabella.
Ecco il mio codice che uso per creare la vista:
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 in quanto questo sarà anche ruotare correttamente (soluzione di shabzco non lo faranno). – Till
@CodaFi Grazie, ha funzionato. Ma come posso rimuovere la vista? Ora quando faccio [self.activityIndicator removeFromSuperview]; [self.overlayView removeFromSuperview]; non funziona –
Ho aggiunto la mia vista overlay con un tag: overlayView.tag = 1; quindi ho utilizzato il tag per identificare l'overlay per rimuoverlo: [[self.navigationController.view viewWithTag: 1] removeFromSuperview]; – JanB