Как установить прозрачную строку состояния в iphone - PullRequest
5 голосов
/ 16 февраля 2011

В моем приложении я хочу установить статусбар прозрачным. Для изменения стиля статусбара возможно три стиля.

  1. серый
  2. черный
  3. черный полупрозрачный

мой код:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent];

Как установить прозрачную строку состояния?

Ответы [ 6 ]

12 голосов
/ 01 октября 2011

Лучшее решение этой проблемы - установить self.wantsFullScreenLayout = YES; в вашем контроллере представления и [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; в строке состояния.

UPDATE:

Как сказал Михир Оза в комментариях, константа UIStatusBarStyleBlackTranslucent из старой версии моего ответа устарела. Вместо этого используйте UIStatusBarStyleLightContent.

2 голосов
/ 19 июня 2012

Для глобального приложения в info.plist добавить стиль строки состояния: Transparent Black Style (alpha 0.5).

1 голос
/ 12 июня 2011

Невозможно сделать строку состояния прозрачной. Есть только 3 возможных стиля (серый, черный и черный полупрозрачный), которые вы можете установить, и вы не можете получить UIView панели.

Однако, если у вас есть статический контент за ним (то есть фиксированная часть вашего пользовательского интерфейса, который вы можете редактировать), вы можете установить в строке состояния черный полупрозрачный и добавить 50% белый слой сразу за панелью. Это делает панель прозрачной.

Вот пример того, что я имею в виду.

См. Пример http://cl.ly/7WST/Untitled-1.png

1 голос
/ 16 февраля 2011

Лучший способ сделать это - info.plist. Взгляните на ключи Apple UIKit pList , в частности UIStatusBarStyle (и значение UIStatusBarStyleBlackTranslucent), чтобы сделать его полупрозрачным, или ключ UIStatusBarHidden (для полного его скрытия).

0 голосов
/ 06 июля 2012
  1. В info.plist установите стиль строки состояния Прозрачный черный стиль (альфа 0,5).
  2. В viewcontroller.xib установите размер в полноэкранном режиме и строка состояния нет.
  3. В viewcontroller.m добавьте следующие коды в viewWillAppear:

self.view.frame = CGRectMake(0,0,320,480);

Это сработало для меня.

0 голосов
/ 16 февраля 2011

Вы можете скрыть строку состояния только с помощью свойства Status bar is initially hidden в вашем info.plist

...