Ändern Statusleiste alpha

In der Snapchat-app, die status bar änderungen alpha, wenn eine Tabelle Blick ist nach unten gezogen, um neu zu laden.

Dies ist der normale status bar
Ändern Statusleiste alpha

Dies ist, was passiert, wenn die Tabellen-Ansicht wird nach unten gezogen
Ändern Statusleiste alpha

Wie ist der status bar alpha geändert? Und wie ist der Rahmen geändert? Ursprünglich dachte ich, es war eine Momentaufnahme, aber die Uhr ändert, wie es normalerweise sollte.

InformationsquelleAutor Peter Tao | 2017-03-16



2 Replies
  1. 14

    Sollte dies der trick, um die fade-animation:

    /* Swift 3 */
    
    let statusBarWindow = UIApplication.shared.value(forKey: "statusBarWindow") as? UIWindow
    UIView.animate(withDuration: 2) {
        statusBarWindow?.alpha = 0.2
    }
    
    /* Objective-C */
    
    UIWindow *statusBarWindow = (UIWindow *)[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"];
    [UIView animateWithDuration:2.f 
                     animations:^{ [statusBarWindow setAlpha:0.2]; } 
                     completion:nil];

    Können Sie auch festlegen, statusBarWindow ist frame und bewegen Sie es wie Sie wollen. Viel Spaß ;]

    • Sind Sie sicher, dass dies ist gonna make it durch die app store review? Haben Sie einen Beweis?
    • Hi @lufritz! Wenn Sie besorgt sind über den privaten Schlüssel kann man nur versuchen, es zu machen 2 Teilstrings und sich Ihnen anzuschließen. Habe es einmal gemacht und bestanden überprüfung nach abgelehnt wurde, die zuvor mit einer einzigen saite. Niemand wird überprüfen Sie Ihren code manuell ein, und der Analysator nicht prüfen Sie alle möglichen Kombinationen. Das Projekt ist unter NDA, so nicht zeigen kann. P. S. ich habe Privatunterricht/ – Tasten, nur ein paar mal, wenn es keine andere Möglichkeit um und der Kunde wollte etwas getan werden, so schnell wie möglich. Es ist zu gefährlich solche Sachen in der Produktion.
    • Das ist großartig! Hatte keine Ahnung, können Sie dies tun. Ich sehe keinen Grund, warum dies würde nicht machen es vorbei an app abgeben.
  2. 0

    Sind Sie wahrscheinlich greifen entweder das Fenster die Statusleiste ist in und animieren das, oder Sie legen ein Fenster über der Statusleiste mit einem Blick und animieren das. Ich habe nicht die app zu überprüfen, aber es muss entweder der beiden Methoden. Um ein Fenster über der Statusleiste, ich denke, es ist Fenster.windowLevel = UIWindowLevelStatusBar + 1 so, dass es oberhalb der Statusleiste. Wenn Sie sind greifen die Referenz müssen Sie eine Schleife durch die Anwendung von windows zu finden und ich habe es nie versucht zu finden, die Statusbar Fenster, aber ich packte die Tastatur-Fenster. Wenn die Uhr tatsächlich durchgezogen wird, dann könnte es eine Kombination von beiden, die immer im Fenster wird die Statusleiste und das hinzufügen eines Fenster vor und animieren Sie beide. Facebook schnappt sich das keyboard-Fenster zu scrollen, es in Facebook Messenger. Hoffe, dies hilft Ihnen.

    Bearbeiten:
    Ich fand ein Beispiel für das erhalten des status-bar-Fenster hier.

    Ich würde auch empfehlen die Verwendung von CAAnimations und vermeiden Sie wirklich etwas ändern. Verwenden Sie einfach die Animationen zu geben, dass Aussehen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.