[Objective-c] La superposición no se desplaza con UITableView - iOS


Answers

Question

Tengo una clase UITableView que usa los siguientes métodos para llamar a una superposición de carga cuando se va a la siguiente pantalla. El problema es que esta pantalla de carga no se desplaza con la lista ... Así que si se desplaza un poco y hace clic en algo, la pantalla de carga no se muestra (porque está en la parte superior). ¿Cómo puedo obtener que la pantalla de carga permanezca en la parte superior de UITableView en todo momento? Tenga en cuenta que cada UITableView se encuentra dentro de un UINavBar, que se encuentra dentro de una UITabBar. Aquí está mi código:

-(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];
}