2014-09-29 3 views
3

Я пытаюсь изменить синий цвет с помощью значков в меню большего размера. Я попробовал почти все, что нашел на StackOverflow, но ничего не работало на iOS 8. Я пробовал это solution, но не работает. Единственный вариант я нашел, чтобы изменить цвет былИзменение цвета оттенков UITabbar из большего меню в iOS8

[[UIView appearance] setTintColor:[UIColor redColor]]; 

но меняет все цвета в приложении.

tint color not changed tint colour changed using UIView appearance tint color

Код просто новый проект с раскадровки, так что я просто добавил взгляды на раскадровке. Спасибо за помощь.

Edit: После того как я добавил код

UIImage *myImage = [[UIImage imageNamed:@"music.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 
self.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"New Title" image:myImage selectedImage:[UIImage imageNamed:@"music.png"]]; 

Изображение изменяется при выборе точки зрения, но она по-прежнему синий.

ответ

7

Чтобы сделать то, что вам нужно, вы должны использовать изображения, создавая UITabBarItem для каждого контроллера и добавляя изображение и выбранное изображение.

См Apple Documentation about UITabBarItem

Иначе выглядит здесь, от @Aaron Brager:

Edit после Seing полного кода Первых есть много ошибок в вашем проекте активы должны находиться в папке xcassets, ввиду didload написать свой код после того, как «супер viewDidLoad]» и т.д.

О вашей проблеме, в методе viewDidLoad в FirstViewController

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
    // Your code start here, not before the super 
    [[UITabBar appearance] setTintColor:[UIColor redColor]]; 

    // Get table view of more new viewController 
    UITableView *view =(UITableView*)self.tabBarController.moreNavigationController.topViewController.view; 

    view.tintColor = [UIColor redColor]; // Change the image color 

    if ([[view subviews] count]) { 
     for (UITableViewCell *cell in [view visibleCells]) { 
      cell.textLabel.textColor = [UIColor redColor]; // Change the text color 

     } 
    } 
} 
+0

Спасибо за ответ, я попытался код из предложений, но по-прежнему не работает. Думаю, я делаю что-то неправильно. Я приложил полный код, если вы можете взглянуть. – varu

+0

@varu Я только что обновил свой ответ. Я не понимал, что вы используете Раскадровку! – Ludovic

+0

У меня была эта проблема с оттенком цвета в более крупном проекте, что было начато в 2010 году, и мне пришлось исправить проблему с помощью значков. Я создал новый проект только для StackOverflow. Спасибо, что помогли мне. Я действительно ценю твою помощь. Мне еще есть чему поучиться :) – varu

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