Я установил для строки состояния светлый контент, установив view-controller based status bar
в Info.plist на No
, поскольку я использую темный цвет для панели навигации. Мне удалось установить цвет панели навигации и цвет и шрифт элемента кнопки панели, используя следующий код в AppDelegate.swift
-
UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent
UINavigationBar.appearance().barTintColor = UIColor.darkGrayColor()
UINavigationBar.appearance().translucent = false
if #available(iOS 8.2, *) {
UIBarButtonItem.appearance().setTitleTextAttributes([NSFontAttributeName : UIFont.systemFontOfSize(16.0, weight: UIFontWeightThin)], forState: UIControlState.Normal)
UINavigationBar.appearance().titleTextAttributes = [NSFontAttributeName : UIFont.systemFontOfSize(23.0, weight: UIFontWeightThin), NSForegroundColorAttributeName: UIColor.whiteColor()]
} else {
// Fallback on earlier versions
}
if #available(iOS 9.0, *) {
UIBarButtonItem.appearanceWhenContainedInInstancesOfClasses([UINavigationBar.self]).tintColor = UIColor.whiteColor()
UIBarButtonItem.appearanceWhenContainedInInstancesOfClasses([UINavigationBar.self]).setTitleTextAttributes([NSFontAttributeName : UIFont.systemFontOfSize(16.0, weight: UIFontWeightThin)], forState: UIControlState.Normal)
} else {
// Fallback on earlier versions
}
у меня есть несколько проблем ниже: -
- Я не могу установить цвет панели навигации для обмена действиями - Skype, входящие (почтовое приложение Gmail) на
UIActivityViewController
- Невозможно установить barButtonItem, например. "Отменить" шрифт и размер с помощью
UIBarButtonItem.appearanceWhenContainedInInstancesOfClasses([UINavigationBar.self]).setTitleTextAttributes([NSFontAttributeName : UIFont.systemFontOfSize(16.0, weight: UIFontWeightThin)], forState: UIControlState.Normal)
Я пытался написать тот же код в блоке завершения для UIActivityViewController
, но ничего не работает.
Когда я выбираю чат из «Недавних чатов» в разделе WhatsApp, цвет элемента панели становится синим по умолчанию — См. Снимок
Прежде всего, решения, которые я использовал, поддерживают iOS версии 8.0, 8.2 или выше. Хочу добиться все таки для версий начиная с 7.0 или 7.1. Как мне это сделать ?