Подтвердить что ты не робот

UIApplication.sharedApplication(). SetStatusBarStyle() устарел в iOS 9

Я использовал

UIApplication.sharedApplication().setStatusBarStyle()

В моем приложении appDelegate он работал нормально, но с iOS 9 этот метод устарел, и я не могу найти альтернативу.

Я хочу изменить стиль строки состояния на .LightContent для всего моего приложения, но единственное предложение xCode дает мне - это обрабатывать это в каждом VC отдельно;

override func preferredStatusBarStyle() -> UIStatusBarStyle {
    return .LightContent
}

Кто-нибудь знает, как это сделать для всего приложения?

Заранее спасибо

4b9b3361

Ответ 1

Я думаю, что нашел решение. Я закончил настройку

View controller-based status bar appearance boolean to NO

В моем файле info.plist.

Info.Plist

Затем я отправился в свою цель General settings -> Deployment info и изменил опцию выпадающего списка Status Bar Style до Light вместо Default

Изменить стиль строки состояния в свет

Это изменило стиль строки состояния на Light для всего моего приложения, именно то, что я хотел.

Надеюсь, это поможет!

Ответ 2

В быстром 3.

В вашем представлении контроллер:

override var preferredStatusBarStyle: UIStatusBarStyle {
    return UIStatusBarStyle.lightContent
}

Если вы хотите, чтобы приложение запускало экран запуска, также есть строка состояния в lightContent, то:

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

Ответ 3

В Swift 3 это так:

 UIApplication.shared.statusBarStyle = .lightContent

Ответ 4

Это отлично работало для меня в Xcode 7.

В AppDelegate:

UIApplication.sharedApplication().statusBarStyle = .LightContent

Ответ 5

для тех, кто все еще работает с Swift 3 в Xcode 8:

(немного отличается от ответа Марлона Руиса выше, а не функции переопределения, но внутри viewDidLoad)

override func viewDidLoad() {
    super.viewDidLoad()

    var preferredStatusBarStyle: UIStatusBarStyle {
        return .lightContent
    }
}

Ответ 6

Это новый способ в AppDelegate:

UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.LightContent, animated: true)

Ответ 7

В info.plist установите: View controller-based status bar appearance boolean to NO

В делегате приложений didFinishLaunchingWithOptions используйте параметр функции application (а не [UIApplication sharedApplication] или simillary UIApplication.sharedApplication() в swift), чтобы установить это так:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    application.statusBarStyle = UIStatusBarStyleLightContent;
}