2014-09-16 2 views
0

Я пытаюсь изменить цвет элементов панели вкладок, потому что он всегда серый в неактивном и синем в активном состоянии. Итак, после некоторых поисков я стараюсь писать этот код это все мои ViewControllers для Tab барИзменить цвет неактивных значков на вкладке

self.tabBarItem.selectedImage = [[UIImage imageNamed:@"TabBarItemMenu_tabbed.png"] 
            imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 

    self.tabBarItem.image = [[UIImage imageNamed:@"TabBarItemMenu.png"] 
          imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 

Но это не помогает мне, и я всегда получаю enter image description here

+0

Пожалуйста, проверьте этот ответ. http://stackoverflow.com/questions/21596515/to-change-the-color-of-unselected-uitabbar-icon-in-ios-7 – BHUMICA

ответ

1

Вы можете сделать это в дополнение :

Set tintColor атрибут панели вкладок, чтобы установить цвет выбранного значка

self.tabBar.tintColor = [UIColor redColor]; 

Затем вы можете использовать атрибуты текста перекрасить тексту

for (UITabBarItem *item in self.tabBar.items) { 
    NSDictionary *normalState = @{UITextAttributeTextColor : [UIColor colorWithWhite:1.000 alpha:1.000], 
           UITextAttributeTextShadowColor: [UIColor clearColor], 
           UITextAttributeTextShadowOffset: [NSValue valueWithUIOffset:UIOffsetMake(0.0, 1.0)]}; 
    [item setTitleTextAttributes:normalState forState:UIControlStateNormal]; 

    NSDictionary *selectedState = @{UITextAttributeTextColor : [UIColor redColor], 
           UITextAttributeTextShadowColor: [UIColor clearColor], 
           UITextAttributeTextShadowOffset: [NSValue valueWithUIOffset:UIOffsetMake(0.0, 1.0)]}; 
    [item setTitleTextAttributes:selectedState forState:UIControlStateHighlighted]; 
} 

// Редактировать

Поскольку верхний код устарел для iOS7, здесь обновление:

[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: 
                [UIColor whiteColor], NSForegroundColorAttributeName, 
                nil] forState:UIControlStateNormal]; 

[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: 
                [UIColor redColor], NSForegroundColorAttributeName, 
                nil] forState:UIControlStateSelected]; 
+0

Как изменить оттенок неактивных изображений? –

Смежные вопросы