как скрыть строку состояния, когда в iphone появляется заставка?

Есть ли способ скрыть строку состояния при отображении экрана-заставки на iPhone, а затем снова отобразить в приложении?


person Rahul Vyas    schedule 18.07.2009    source источник


Ответы (10)


Я почти уверен, что если ваш файл Info.plist имеет значение Status bar is initially hidden, равное YES, то оно не будет отображаться, пока ваше приложение загружается. После загрузки приложения вы можете повторно отобразить строку состояния с помощью setStatusBarHidden:animated: метода UIApplication.

person Dave DeLong    schedule 18.07.2009
comment
в info.plist такой опции нет. есть ли способ добавить ее вручную - person Rahul Vyas; 20.07.2009
comment
@Rahul выберите последнюю строку в файле и нажмите кнопку с плюсом на правом конце строки. Затем введите его сами. - person Dave DeLong; 20.07.2009
comment
Метод повторного отображения строки состояния сейчас, setStatusBarHidden: withAnimation: - person SargeATM; 16.09.2010
comment
Если вы хотите добавить его вручную, вы можете отредактировать список в текстовом редакторе, например BBEdit, и добавить строки: ‹key› UIStatusBarHidden ‹/key› ‹true /› чуть выше строки ‹/dict›. Или в Xcode щелкните правой кнопкой мыши список и выберите «Открыть как ... Исходный код» и отредактируйте его как текст. - person JScarry; 07.01.2013
comment
После загрузки приложения вы можете повторно отобразить строку состояния. Чтобы прояснить, если кто-то запутался, можно безопасно установить [[UIApplication sharedApplication] setStatusBarHidden:NO]; on - application: didFinishLaunchingWithOptions: - person Ryan Romanchuk; 23.01.2013
comment
как сказал @RyanRomanchuk, в iOS 9 и Swift установите скрытую строку состояния на false, например: UIApplication.sharedApplication().statusBarHidden = false в application:DidFinishLaunchingWithOptions - person kishorer747; 13.07.2016
comment
В моем случае просто добавьте ключ Просмотр внешнего вида строки состояния на основе контроллера: ДА, в Plist, удалите приложение и повторно запустите приложение. Оно работает!! - person Ravi; 07.06.2018

Правильный ключ в .plist - «UIStatusBarHidden» и отметьте его справа. Затем он автоматически станет «Строка состояния изначально скрыта». В моей практике вы можете управлять отображением / скрытием StatusBar где угодно, когда hide:

[[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.

надеюсь, что это было полезно для вас.

person Max    schedule 06.07.2011
comment
Чтобы динамически установить размер CGRectMake для любого типа iPhone: [[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); - person reinaldoluckman; 17.09.2013
comment
setStatusBarHidden:withAnimation UIApplication ожидает определение типа NSInteger UIStatusBarAnimation для второго аргумента, а не BOOL. Вместо NO используйте UIStatusBarAnimationNone - person user; 20.03.2014

Просмотр -> Тип списка свойств -> iPhone Info.plist. Теперь создайте новый элемент с установленным флажком «Строка состояния изначально скрыта».

person Jonathan Sterling    schedule 29.08.2009

Следуя ответу Дейва, клавиша «Строка состояния изначально скрыта» не работала для меня под iOS 4.3, НО клавиша «UIStatusBarHidden», а затем установка его типа на Boolean и установка флажка сделали трюк.

http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/AboutInformationPropertyListFiles.html#//apple_ref/doc/uid/TP40009254-SW4

Эта статья разработчика познакомила меня с ключами Info.plist, а затем разработать эквивалентный ключ для их сокрытия было несложно.

Интересно, что «UIStatusBarStyle» должен использовать имя перечисления как строку, чтобы оно работало.

person Josh Peak    schedule 29.06.2011

Для Xcode 5 и выше вы можете просто установить:

Просмотр отображения строки состояния на основе контроллера на НЕТ

В вашем info.plist или на вкладке информации в вашем основном проекте.

Пример настроек информации в xcode

person Ian Jamieson    schedule 09.04.2014

напишите эту 1 строку в свой основной метод .m viewDidload

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];

или выберите файл info.plist из папки вспомогательных файлов вашего проекта в рабочей области

установите statusbarinitialyhidden на ДА

person Usman    schedule 18.05.2012

устарел

setStatusBarHidden:(BOOL) animated:(BOOL) 

это правильный

setStatusBarHidden:(BOOL) withAnimation:(UIStatusBarAnimation)

UIStatusBarAnimation, который может быть:

UIStatusBarAnimationNone или UIStatusBarAnimationFade или UIStatusBarAnimationSlide

person Jonathan Lamim Antunes    schedule 03.02.2012

Это сработало для меня в info.plist:

"View controller-based status bar appearance"  -> set to NO
person user2588945    schedule 04.10.2013

Добавьте Status bar is initially hidden в YES в info.plist файле. Это сработало для меня.

строка состояния скрыта

person Vinoth Vino    schedule 07.07.2017

Для редакторов XML ~ добавить к первому дочернему элементу

<key>UIStatusBarHidden</key>
<true/>
person Paul Brewczynski    schedule 21.08.2013