2012-03-26 5 views
4

Вот n00b вопрос, но один я не могу решить читать мои книги и заметки:IOS: Невозможно установить навигационный бар оттенок цвета

Я реализующее управление навигацией, и я могу» t выяснить, почему мой код не устанавливает цвет оттенка для него.

В моем файле реализации приложения делегатов под applicationDidFinishLaunching: методом:

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 

    rootViewController *rootView = [[rootViewController alloc] initWithNibName:@"rootViewController" bundle:nil]; 
    self.navController = [[UINavigationController alloc] initWithRootViewController:rootView]; 
    self.navController.navigationBar.tintColor = [UIColor colorWithRed:20/255 green:44/255 blue:86/255 alpha:1]; 

navController инициализирует только штраф, но с черным цветом.

+0

Isnt 'альфа: 1' полностью прозрачным? – cpjolicoeur

+0

Нет, альфа одного полностью освещена. Альфа 0 полностью прозрачна. – CodaFi

ответ

11

Вы видите черную навигационную панель, потому что [UIColor colorWithRed:20/255 green:44/255 blue:86/255 alpha:1] черный!

Вы выполняете целочисленное деление, так что 20/255 == 0. Экспресс эти значения, как поплавки, и вы должны увидеть цвет вы ожидали:

[UIColor colorWithRed:20.0/255 green:44.0/255 blue:86.0/255 alpha:1]

+0

Я буду проклят. Благодаря! Не понял, что разница между 20 и 20.0 была разной. – inorganik

1

(Большой) Оттенок цвета работает только на прошивке 5.0+ (прочитать ссылку на класс :))

+0

Да, я бегу симулятор iPhone 5.0 – inorganik

+0

Хм, это была проблема для меня .. – Manuel

3

Это черный цвет, потому что вы разделите целые числа.

[UIColor colorWithRed:20/255 green:44/255 blue:86/255 alpha:1]; 

Попробуйте это:

[UIColor colorWithRed:20.0f/255.0f green:44.0f/255.0f blue:86.0f/255.0f alpha:1.0f]; 
1

для ИОС 8.0

self.navController.navigationBar.barTintColor = [UIColor colorWithRed:20/255 green:44/255 blue:86/255 alpha:1]; 
Смежные вопросы