iOS 7.1 UINavigationbar и UIToolbar

После обновления Xcode в iOS7.1 моя панель навигации и кнопки UIToolbar не отображаются правильным цветом.

Когда представление появляется впервые, все кнопки UIToolbar имеют правильный синий цвет по умолчанию, а когда я перехожу на следующую страницу/представление и возвращаюсь к предыдущему представлению, кнопки панели инструментов отображаются серым цветом.

Я пытался добавить синий цвет в viewDidLoad и viewWillAppear, но безуспешно. Кто-нибудь может мне помочь?

Спасибо.


person informatiker    schedule 14.03.2014    source источник


Ответы (1)


Вы можете настроить тему для определенных компонентов сразу, и они будут использоваться во всем вашем приложении. В своем делегате приложения я создал функцию setupTheme при инициализации приложения, и она делает именно это — устанавливает «тему» ​​приложения, говоря такие вещи, как [[UINavigationBarВнешний вид] setBarTintColor:], который фактически устанавливает цвет панели навигации для ЛЮБОГО навигационного контроллера в приложении. Вот пример из приложения, которое настраивает некоторые базовые компоненты, которые используются повторно, поэтому каждый раз, когда вы их используете, к ним уже применяется правильная тема.

- (void)setupTheme {
    // get our theme colors
    UIColor *primaryThemeColor = [UIColor blueColor];
    UIColor *secondaryThemeColor = [UIColor whiteColor];

    // nav bar
    [[UINavigationBar appearance] setBarTintColor:primaryThemeColor];
    [[UINavigationBar appearance] setTintColor:secondaryThemeColor];
    [[UINavigationBar appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName:secondaryThemeColor}];

    // tab bar
    [[UITabBar appearance] setTintColor:primaryThemeColor];

    // switches
    [[UISwitch appearance] setOnTintColor:primaryThemeColor];

    // search bar
    [[UIBarButtonItem appearanceWhenContainedIn:[UISearchBar class], nil] setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor blackColor]} forState:UIControlStateNormal];
}

Подробнее об особенностях см. в руководстве по переходу на iOS 7 https://developer.apple.com/library/iOs/documentation/UserExperience/Conceptual/TransitionGuide/Bars.html#//apple_ref/doc/uid./TP40013174-CH8-SW1

person Mike    schedule 18.04.2014