2010-12-30 2 views
1

Я пытаюсь установитьTintColor для viewcontroller, который наследуется от UITableViewController.UITableViewController tintColor

Я пытался поставить

[self.navigationController.navigationBar setTintColor:[UIColor blackColor]]; 

в последней строке в loadView, но цвет не меняется. Где мне это сделать?

Вот определение интерфейса контроллера:

@interface MyViewController : UITableViewController 
{ 
    Model *model; 

    NSArray * calculators; 
} 
@end 

UPDATE: Я, наконец, положить его в viewDidAppear, и она работала.

+1

Попробуйте поместить его в 'viewDidLoad' вместо этого. – BoltClock

+0

@BoltClock. Пробовал, не работал. –

+0

Поскольку у вас черные настройки в качестве цвета оттенков, вы можете изменить стиль бара, а именно: 'self.navigationController.navigationBar.barStyle = UIBarStyleBlack;'. Я бы поместил это в 'viewDidLoad'. – mrueg

ответ

0

Я положил мое решение в этом вопросе.

0

Вы уверены, что ваш self.navigationController не ноль? Это обычная ошибка Происходило все время, что вы не предъявите Вашу MyViewController с navigationController

0

Попробуйте

self.navigationController.navigationBar.tintColor = [UIColor blackColor]; 
+1

В чем разница между этим и использованием 'setTintColor:'? – BoltClock

+0

Да, это точно то же самое. –

0
-(void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
    [self.navigationController.navigationBar setTintColor:[UIColor blackColor]]; 
} 
Смежные вопросы