Ho una classe UITableView che utilizza i seguenti metodi per chiamare una sovrapposizione di caricamento quando si passa alla schermata successiva. Il problema è che questa schermata di caricamento non scorre con l'elenco ... Quindi se si scorre un po 'e si fa clic su qualcosa, la schermata di caricamento non viene visualizzata (perché è in alto). Come posso avere sempre la schermata di caricamento in cima a UITableView? Si prega di sapere che ogni UITableView è contenuto in un UINavBar, che è contenuto in un UITabBar. Ecco il mio codice:Overlay non in scorrimento con UITableView - iOS
-(void)createLoadScreen
{
CGRect screenRect = [self.view bounds];
CGRect overlayFrame = CGRectMake(0.0, 0.0, screenRect.size.width, screenRect.size.height);
overlay = [[UIView alloc] initWithFrame:overlayFrame];
overlay.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.7];
CGRect frame = CGRectMake(screenRect.size.width/2 - 25.0, screenRect.size.height/2 - 70, 25.0, 25.0);
loading = [[UIActivityIndicatorView alloc] initWithFrame:frame];
[loading setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleWhiteLarge];
[loading sizeToFit];
loading.autoresizingMask = (UIViewAutoresizingFlexibleLeftMargin |
UIViewAutoresizingFlexibleRightMargin |
UIViewAutoresizingFlexibleTopMargin |
UIViewAutoresizingFlexibleBottomMargin);
loading.hidesWhenStopped = YES;
[overlay addSubview:loading];
}
-(void)showActivityIndicator
{
[self.view addSubview:overlay];
[loading startAnimating];
}
-(void)removeActivityIndicator {
[loading stopAnimating];
[overlay removeFromSuperview];
}
bello! grazie amico ... –
in realtà ... sta succedendo qualcosa di funky ora. l'indicatore di attività fisica si muove in posizione (altezza-saggio). Non sono sicuro del motivo per cui ciò sta accadendo, ma sembra essere casualmente più alto e più basso a seconda di quale cella di tabella faccio clic. qualche idea? –
questo è dopo l'ho aggiunto al superview della uitableview –