[UIApplication sharedApplication].statusBarFrame.size.height
. Ale ponieważ wszystkie rozmiary są wyrażone w punktach, a nie w pikselach, wysokość paska stanu zawsze wynosi 20.
Aktualizacja. Widząc, że ta odpowiedź jest uważana za pomocną, powinienem ją rozwinąć.
Wysokość paska stanu jest rzeczywiście równa 20,0 f punktów, z wyjątkiem następujących przypadków:
- pasek stanu został ukryty
setStatusBarHidden:withAnimation:
metodą, a jego wysokość wynosi 0,0 punktu;
- jak wskazano tutaj @Anton, podczas połączenia przychodzącego poza aplikacją Telefon lub podczas sesji nagrywania dźwięku wysokość paska stanu sesji wynosi 40,0 punktów.
Jest też przypadek paska stanu wpływającego na wysokość twojego widoku. Zwykle wysokość widoku jest równa wymiarowi ekranu dla danej orientacji minus wysokość paska stanu. Jeśli jednak animujesz pasek stanu (pokaż lub ukryj go) po wyświetleniu widoku, pasek stanu zmieni ramkę, ale widok nie , będziesz musiał ręcznie zmienić rozmiar widoku po animacji paska stanu (lub podczas animacji, ponieważ wysokość paska stanu ustawia się na wartość końcową na początku animacji).
Aktualizacja 2. Istnieje również przypadek orientacji interfejsu użytkownika. Pasek stanu nie respektuje wartości orientacji, dlatego wartość wysokości paska stanu dla trybu portretowego to [UIApplication sharedApplication].statusBarFrame.size.height
(tak, domyślna orientacja to zawsze portret, bez względu na to, co mówi twoja aplikacja info.plist), dla krajobrazu - [UIApplication sharedApplication].statusBarFrame.size.width
. Aby określić bieżącą orientację interfejsu użytkownika, gdy jest on niedostępny UIViewController
i self.interfaceOrientation
nie jest dostępny, użyj [UIApplication sharedApplication].statusBarOrientation
.
Aktualizacja dla iOS7. Mimo zmiany stylu wizualnego paska stanu, nadal tam jest, jego ramka nadal zachowuje się tak samo. Jedyny ciekawy znalezisko o pasku mam - udział w I: Twój UINavigationBar
„s kafelki tła również zostaną wyłożone na pasku stanu, dzięki czemu można osiągnąć ciekawe efekty projektu lub po prostu kolor paska stanu. To również nie wpłynie w żaden sposób na wysokość paska stanu.