2016-05-12 11 views
0

In meiner App gibt es eine Ansicht, in der die Statusleiste bei Bedarf ein- oder ausgeblendet werden kann und der Übergang animiert ist. Wenn die erweiterte Statusleiste aktiv ist, schiebt sie meine Ansicht 20pt nach unten und außerhalb des Bildschirms.Höhe der Statusleiste abrufen, bevor sie angezeigt wird?

Um dies zu beheben, muss ich die Höhe der Statusleiste erkennen, bevor es zeigt, und eine Animation auslösen, die im Hinblick auf die Größe:

- (BOOL)prefersStatusBarHidden { 
    return _statusHidden; 
} 

- (BOOL)prefersStatusBarUpdateAnimation { 
    return UIStatusBarAnimationSlide; 
} 

- (void)showStatusBar:(CGFloat)delay { 
    _statusHidden = NO; 

    // how do I set this value? 
    CGFloat extendedStatusBarHeight = ??? - 20; 

    [UIView animateWithDuration:0.2f delay:delay options:0 animations:^{ 
     [self setNeedsStatusBarAppearanceUpdate]; 
     self.wrapper.frame = CGRectMake(x,y,w,h - extendedStatusBarHeight) 
    } completion:nil]; 
} 

Wie kann ich die Höhe der Statusleiste, bevor sie erhalten zeigt an?

+0

ja, es gibt 0 zurück – Cbas

Antwort

-2

Sie können dies versuchen:

CGRectGetHeight([UIApplication sharedApplication].statusBarFrame); 
+0

, die 0 bis die Statusleiste wieder angezeigt wird – Cbas

Verwandte Themen