[UIApplication sharedApplication].statusBarFrame.size.height
. Da jedoch alle Größen in Punkten und nicht in Pixeln angegeben sind, beträgt die Höhe der Statusleiste immer 20.
Aktualisieren. Da diese Antwort als hilfreich angesehen wird, sollte ich näher darauf eingehen.
Die Höhe der Statusleiste beträgt in der Tat 20,0 f Punkte, außer in folgenden Fällen:
- Die Statusleiste wurde mit der
setStatusBarHidden:withAnimation:
Methode ausgeblendet und ihre Höhe entspricht 0,0 f Punkten.
- Wie @Anton hier hervorhob, beträgt die Höhe der Statusleiste während eines eingehenden Anrufs außerhalb der Telefonanwendung oder während der Statusleiste der Tonaufzeichnungssitzung 40,0 f Punkte.
Es gibt auch einen Fall von Statusleisten, die sich auf die Höhe Ihrer Ansicht auswirken. Normalerweise entspricht die Höhe der Ansicht der Bildschirmgröße für die angegebene Ausrichtung abzüglich der Höhe der Statusleiste. Wenn Sie jedoch die Statusleiste animieren (anzeigen oder ausblenden), nachdem die Ansicht angezeigt wurde, ändert die Statusleiste ihren Rahmen, die Ansicht jedoch nicht . Sie müssen die Größe der Ansicht nach der Animation der Statusleiste (oder während der Animation seitdem manuell ändern) Die Höhe der Statusleiste wird zu Beginn der Animation auf den Endwert gesetzt.
Update 2. Es gibt auch einen Fall der Ausrichtung der Benutzeroberfläche. Statusleiste nicht respektiert den Orientierungswert, also Statusleiste Höhenwert für Portrait - Modus ist [UIApplication sharedApplication].statusBarFrame.size.height
(ja, Standardausrichtung ist immer Porträt, egal , was Ihre Anwendung info.plist sagt), für Landschaft - [UIApplication sharedApplication].statusBarFrame.size.width
. Verwenden Sie, um die aktuelle Ausrichtung der Benutzeroberfläche außerhalb UIViewController
und self.interfaceOrientation
nicht verfügbar zu bestimmen [UIApplication sharedApplication].statusBarOrientation
.
Update für iOS7. Obwohl sich der visuelle Stil der Statusleiste geändert hat, ist er immer noch vorhanden, und sein Rahmen verhält sich immer noch gleich. Die einzige interessante Entdeckung über Statusleiste habe ich - ich teile: Ihr UINavigationBar
‚s gekachelten Hintergrund wird auch auf Statusleiste mit Ziegeln gedeckt werden, so dass Sie einige interessante Design - Effekte erzielen oder einfach nur Ihre Statusleiste färben. Auch dies hat keinerlei Einfluss auf die Höhe der Statusleiste.