Чи є спосіб приховати рядок стану при відображенні заставки в iPhone, а потім знову показати в програмі?
Відповіді:
Я майже впевнений, що якщо для вашого файлу Info.plist встановлено Status bar is initially hidden
значення YES
, він не відображатиметься під час завантаження вашої програми. Після завантаження програми ви можете знову показати рядок стану, використовуючи setStatusBarHidden:animated:
метод UIApplication .
[[UIApplication sharedApplication] setStatusBarHidden:NO];
ввімкнути - application: didFinishLaunchingWithOptions:
Правильним ключем у .plist є "UIStatusBarHidden" і зробіть перевірку правою стороною. Він стане "Рядок стану спочатку прихований", а потім автоматично. На моїй практиці ви можете контролювати показ / приховування панелі стану в будь-якому місці, коли сховати:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 0, 320, 480); //full screen.
коли шоу:
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 20, 320, 460); //move down 20px.
сподіваюся, це було вам корисно.
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
float width = ((UIScreen *)[UIScreen mainScreen]).bounds.size.width;
float height = (((UIScreen *)[UIScreen mainScreen]).bounds.size.height - 20);
[UIApplication sharedApplication].keyWindow.frame = CGRectMake(0, 20, width, height);
setStatusBarHidden:withAnimation
очікує typedef NSInteger UIStatusBarAnimation
для другого аргументу, а не BOOL. Замість NO
, useUIStatusBarAnimationNone
Перегляд -> Тип списку властивостей -> iPhone Info.plist. Тепер зробіть новий пункт із позначкою "Рядок стану спочатку приховано".
Наслідуючи відповідь Дейва, клавіша "Рядок стану спочатку прихована" не працювала для мене під iOS 4.3, АЛЕ клавіша "UIStatusBarHidden", а потім встановивши для типу Boolean і встановивши прапорець, це зробило трюк.
Ця стаття розробника залучила мене до клавіш Info.plist, а потім розробила еквівалентний ключ, щоб приховати це було не надто складно.
Цікаво, що "UIStatusBarStyle" повинен використовувати ім'я перерахування як рядок для його роботи.
Для Xcode 5 і вище ви можете просто встановити:
Переглянути вигляд рядка стану на основі контролера на NO
У вашому info.plist або на вкладці інформація у вашому основному проекті.
застаріло
setStatusBarHidden:(BOOL) animated:(BOOL)
є правильним
setStatusBarHidden:(BOOL) withAnimation:(UIStatusBarAnimation)
UIStatusBarAnimation, яка може бути:
UIStatusBarAnimationNone або UIStatusBarAnimationFade або UIStatusBarAnimationSlide
Це спрацювало для мене у списку info.plist:
"View controller-based status bar appearance" -> set to NO
Для редакторів XML ~ додати до першого дочірнього файлу
<key>UIStatusBarHidden</key>
<true/>