Как установить черную панель навигации в окне редактирования панели «еще»? - PullRequest
1 голос
/ 22 ноября 2011

Я пытаюсь установить все панели навигации моей панели вкладок UIBarStyleBlack.

Я мог бы также добиться этого для панели вкладок "больше" с помощью:

tabBarController.moreNavigationController.navigationBar.barStyle = UIBarStyleBlack;

Проблема в томКогда вы нажимаете верхнюю кнопку «Редактировать», чтобы настроить вкладки, он представляет новый модальный контроллер со стандартной синей панелью навигации, и мне не удается установить его UIBarStyleBlack.

Ответы [ 3 ]

3 голосов
/ 13 декабря 2011

Ссылка имеет немного хакерское решение, которое включает прослушивание, когда появится модальное представление.

Раскрась веселье с помощью moreNavigationController

Пока iOS5 + не позволит нам сделать это более чистым способом.

2 голосов
/ 23 октября 2018

Swift - настройка панели вкладок -> меню «Дополнительно» -> «Редактировать представление» (панель навигации и представление содержимого).

override func tabBar(_ tabBar: UITabBar, willBeginCustomizing items: [UITabBarItem]) {
    for (index, subView) in view.subviews.enumerated() {
        subView.backgroundColor = UIColor.black
        if index == 1 {
            subView.tintColor = UIColor.green
            for customSubView in subView.subviews {
                if let navBar = customSubView as? UINavigationBar {
                    navBar.isTranslucent = false
                    navBar.barTintColor = UIColor.black
                    navBar.tintColor = .white
                }
            }
        }
    }
}

Это то, что мне помогло.

0 голосов
/ 04 августа 2016

Sublcass UITabBarController и перезаписать эти методы:

- (void)tabBar:(UITabBar *)tabBar willEndCustomizingItems:(NSArray<UITabBarItem *> *)items changed:(BOOL)changed {
    self.moreNavigationController.navigationBar.barStyle = UIBarStyleBlack;
}

- (void)tabBar:(UITabBar *)tabBar didBeginCustomizingItems:(NSArray<UITabBarItem *> *)items {
    self.moreNavigationController.navigationBar.barStyle = UIBarStyleDefault;
}
...