UIScrollView wird unterhalb der Navigations- und Statusleiste verschoben

Ich habe eine Ansicht, die eine scrollView enthält. Wenn die Ansicht angezeigt wird, wird das Bild im Vollbildmodus (320 x 480) angezeigt und die Status- und Navigationsleiste ausgeblendet. Wenn ich auf die Bildschirme tippe, werden Status und Navigationsleiste auf dem Bildschirm angezeigt. Aber dieses Ding verschiebt den UIScrollView unter die Navigationsleiste. Ich möchte, dass die Status- und Navigationsleiste über meiner Bildlaufansicht angezeigt wird.

Wie es in der Fotos App passiert. Wenn Sie auf das Bild tippen, wird die Status- und Navigationsleiste über der Bildlaufansicht angezeigt.

Unten ist, wie ich die Ansicht positioniere


//What I have done in viewDidLoad
[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO];
self.wantsFullScreenLayout = YES;
scrollView = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
self.view = scrollView;

Im Folgenden wird beschrieben, wie ich ein einzelnes Tippen erkenne


- (void)tapDetectingImageView:(TapDetectingImageView *)view             gotSingleTapAtPoint:(CGPoint)tapPoint {
    // single tap hide/unhide the status and nav bar
    NSLog(@"got a single tap");
    if (self.navigationController.navigationBarHidden == NO)
    {

        [self.navigationController setNavigationBarHidden:YES animated:NO];
        [[UIApplication sharedApplication] setStatusBarHidden:YES animated:YES];
    }
    else
    {
        [[UIApplication sharedApplication] setStatusBarHidden:NO animated:YES];
        [self.navigationController setNavigationBarHidden:NO animated:NO];
    }
}

Nur ein Hinweis für euch - wenn ich es benutze

[self.view addSubview:scrollView];
Ich sehe dieses Problem nicht. Aber das bringt meinen Querformat-Code durcheinander.

Wer etwas Licht ins Dunkel bringen kann, was ich falsch mache - wäre eine große Hilfe!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage