Изменение цвета текста в строке состояния на заставке iOS 7

Я знаю, что это уже некоторые stackoverflow вопросы о том, как изменить статус панель для всех контроллеров представления. В настоящее время я меняю цвет строки состояния следующим образом:

if(IS_IOS7)
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

В application:DidFinishLaunching

Кроме того, я изменил значение UIViewControllerBasedStatusBarAppearance в листе на NO. Однако на заставке он по-прежнему показывает текст строки состояния с черным цветом.

Можно ли изменить цвет текста строки состояния на заставке ?

91 голос | спросил Tiago Almeida 19 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 19 Sep 2013 18:24:06 +0400 2013, 18:24:06

6 ответов


0

В файле plist проекта добавьте свойство «Стиль строки состояния» (ключ UIStatusBarStyle). Затем проигнорируйте все возможные значения, перечисленные в раскрывающемся списке для этого свойства, и вместо этого введите UIStatusBarStyleLightContent.

И вам не нужно устанавливать UIViewControllerBasedStatusBarAppearance в NO в своем списке, вы можете установить preferredStatusBarStyle для своих контроллеров представления.

ответил Vinzzz 19 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 19 Sep 2013 19:22:47 +0400 2013, 19:22:47
0

Вы можете сделать это без написания какой-либо строки кода
Выполните следующие действия, чтобы цвет текста строки состояния стал белым во всем приложении

В файле проекта :

  • Стиль строки состояния: UIStatusBarStyleLightContent
  • Просмотр внешнего вида строки состояния на основе контроллера: NO
  • Строка состояния изначально скрыта: NO
ответил Lucas 6 32013vEurope/Moscow11bEurope/MoscowWed, 06 Nov 2013 21:15:46 +0400 2013, 21:15:46
0

Вы можете выполнить следующие действия для получения светлой строки состояния во всем приложении.

  1. Выберите название проекта в навигаторе проекта.
  2. Выберите имя цели из списка в левой колонке редактора проекта.
  3. Нажмите "Общие" в верхней части редактора проекта.
  4. Установить стиль строки состояния -> Свет

В вашем plist-файле добавьте следующие значения:

  1. Стиль строки состояния - UIStatusBarStyleLightContent
  2. Просмотреть внешний вид строки состояния на основе контроллера - НЕТ

Это поможет вам получить строку состояния в БЕЛОМ цвете по всему приложению, включая ЭКРАН-ЗНАК.

ответил Anooj VM 28 52014vEurope/Moscow11bEurope/MoscowFri, 28 Nov 2014 10:25:57 +0300 2014, 10:25:57
0

Установите для UIViewControllerBasedStatusBarAppearance значение Нет в списке

Затем добавьте следующий код в опцию «Закончить запуск»

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {

   [application setStatusBarStyle:UIStatusBarStyleLightContent];

    self.window.clipsToBounds =YES;

    self.window.frame =  CGRectMake(0,20,self.window.frame.size.width,self.window.frame.size.height-20);
}

Пожалуйста, следуйте этому коду, он работал для меня

ответил Preejith augustine 24 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 24 Sep 2013 09:39:48 +0400 2013, 09:39:48
0

Вот Руководства Apple /Инструкция об изменении строки состояния.

Вот - Как изменить стиль строки состояния:

Если вы хотите установить стиль строки состояния, уровень приложения, то установите для UIViewControllerBasedStatusBarAppearance значение NO в вашем файле `.plist '.

если вы хотите установить стиль строки состояния, на уровне контроллера представления выполните следующие действия:

  1. Установите для UIViewControllerBasedStatusBarAppearance значение YES в файле .plist, если вам нужно установить стиль строки состояния только на уровне UIViewController.
  2. В функции добавления viewDidLoad - setNeedsStatusBarAppearanceUpdate

  3. переопределяет extendedStatusBarStyle в вашем контроллере представления.

-

override func viewDidLoad() {
    super.viewDidLoad()
    self.setNeedsStatusBarAppearanceUpdate()
}

override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

Установите значение .plist в соответствии с уровнем настройки стиля строки состояния. введите описание изображения здесь


Вы можете установить цвет фона для строки состояния во время запуска приложения или во время viewDidLoad вашего контроллера представления.

extension UIApplication {

    var statusBarView: UIView? {
        return value(forKey: "statusBar") as? UIView
    }

}

// Set upon application launch, if you've application based status bar
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        UIApplication.shared.statusBarView?.backgroundColor = UIColor.red
        return true
    }
}


or 
// Set it from your view controller if you've view controller based statusbar
class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        UIApplication.shared.statusBarView?.backgroundColor = UIColor.red
    }

}



Вот результат:

введите описание изображения здесь

ответил Krunal 27 +03002017-10-27T10:53:49+03:00312017bEurope/MoscowFri, 27 Oct 2017 10:53:49 +0300 2017, 10:53:49
0

Вы можете выполнить следующие действия для получения светлой строки состояния во всем приложении.

Выберите название проекта в навигаторе проекта. Выберите имя цели из списка в левой колонке редактора проекта. Нажмите General в верхней части редактора проекта. Установить стиль строки состояния -> Свет

ответил Usman Nisar 5 PM000000120000002831 2016, 12:27:28

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132