IOS 7 Статус Бар не наследует цвет навигации
-
21-12-2019 - |
Вопрос
У меня проблемы выяснение, как получить строку состояния в iOS 7, чтобы использовать цвет моей навигации.Я использую UINavigationController
в сочетании с библиотекой SWRevealController
для скользящего меню NAV.
Вот как страница выглядит прямо сейчас:
Я хочу, чтобы полоса состояния наследует серый цвет панели NAV.Как я могу сделать это?
Решение
Вы можете изменить info info.plist и установить «просмотр контроллера на основе состояния строки», как NO
в AppDelegate, вы должны добавить
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
.
для AppDelegates DidfiniShlaunchingWithOptions.
Надеюсь, это будет работать для вас.
Другие советы
в iOS 7 навигационная панель высота изображения составляет 64 пикселей.Вам необходимо создать два изображения, один для навигации стержня для iOS 7 с высотой 64 пикселей и другой для iOS 6 или менее высотой 44 пикселей
Тогда используйте этот код
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)?YES:NO) {
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"your 64 image"] forBarMetrics:UIBarMetricsDefault];
}
else
{
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"your 44 image"] forBarMetrics:UIBarMetricsDefault];
}
. Сделайте пользовательский вид и установите цвет навигационной панели к этому представлению, поместите этот вид на место состояния строки и измените цвет строки состояния до прозрачного. Счастливое кодирование
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)?YES:NO) {
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"newImage.png"] forBarMetrics:UIBarMetricsDefault];
}
else
{
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"previousImage.png"] forBarMetrics:UIBarMetricsDefault];
}
. Установите делегат навигационного бара, чтобы быть текущим контроллером просмотра и прикрепить панель навигации к вершине.
class ViewController: UIViewController, UINavigationBarDelegate {
@IBOutlet weak var navigationBar: UINavigationBar!
override func viewDidLoad() {
navigationBar.delegate = self
}
func positionForBar(bar: UIBarPositioning) -> UIBarPosition {
return .TopAttached
}
.