Sobreposição não rolando com UITableView - iOS

Eu tenho uma classe UITableView que usa os seguintes métodos para chamar uma sobreposição de carregamento ao ir para a próxima tela. O problema é que essa tela de carregamento não rola com a lista ... Então, se você rolar um pouco e clicar em algo, a tela de carregamento não aparece (porque está no topo). Como posso obter a tela de carregamento para ficar em cima do UITableView em todos os momentos? Por favor, saibam que cada UITableView está contido em um UINavBar, que está contido em um UITabBar. Aqui está o meu código:

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

questionAnswers(1)

yourAnswerToTheQuestion