Overlay rollt nicht mit UITableView - iOS

Ich habe eine UITableView-Klasse, die die folgenden Methoden verwendet, um eine Ladeüberlagerung aufzurufen, wenn Sie zum nächsten Bildschirm wechseln. Das Problem ist, dass dieser Ladebildschirm nicht mit der Liste scrollt ... Wenn Sie also ein wenig scrollen und auf etwas klicken, wird der Ladebildschirm nicht angezeigt (weil er oben ist). Wie kann ich erreichen, dass der Ladebildschirm immer auf dem UITableView angezeigt wird? Bitte beachten Sie, dass jede UITableView in einer UINavBar enthalten ist, die in einer UITabBar enthalten ist. Hier ist mein Code:

<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>

Antworten auf die Frage(1)

Ihre Antwort auf die Frage