[UIApplication sharedApplication].statusBarFrame.size.height
. Але оскільки всі розміри є в точках, а не в пікселях, висота рядка стану завжди дорівнює 20.
Оновлення. Вбачаючи, що ця відповідь вважається корисною, я повинен детально розглянути.
Висота рядка стану дійсно дорівнює 20,0f балів, за винятком таких випадків:
- рядок стану приховано
setStatusBarHidden:withAnimation:
методом і його висота дорівнює 0,0f балів;
- як вказувало @Anton, під час вхідного дзвінка за межами програми Phone або під час висоти смуги сеансу звукозапису висота дорівнює 40,0f балів.
Також є випадок рядка стану, який впливає на висоту перегляду. Зазвичай висота подання дорівнює розміру екрана для заданої орієнтації мінус висота смуги стану. Однак якщо ви анімуєте рядок стану (покажіть або приховати його) після того, як було показано подання, рядок стану змінить його кадр, але перегляд не буде , вам доведеться вручну змінити розмір подання після анімації рядка стану (або під час анімації, оскільки висота рядка статусу встановлює остаточне значення на початку анімації).
Оновлення 2. Також є випадок орієнтації на інтерфейс користувача. Рядок стану не відповідає значенню орієнтації, тому значення висоти рядка статусу для портретного режиму [UIApplication sharedApplication].statusBarFrame.size.height
(так, орієнтація за замовчуванням завжди є портретною, незалежно від того, що говорить ваш додаток info.plist), для пейзажу - [UIApplication sharedApplication].statusBarFrame.size.width
. Щоб визначити поточну орієнтацію інтерфейсу користувача, коли знаходиться поза UIViewController
та self.interfaceOrientation
недоступна, використовуйте [UIApplication sharedApplication].statusBarOrientation
.
Оновлення для iOS7. Незважаючи на те, що візуальний стиль рядка статусу змінився, він все ще є, його кадр все ще поводиться так само. Єдина цікава знахідка про рядку стану я - частина I: ваш UINavigationBar
«и плиткового фон також буде кахельна рядок стану, так що ви можете досягти деяких цікавих дизайнерських ефектів , або просто кольору вашої рядка стану. Це теж ніяк не вплине на висоту смуги стану.