2010-01-17 2 views
2

Когда я установил tintcolor используя следующий код работаетtintcolor для Панель навигации

self.navigationController.navigationBar.tintColor = [UIColor brownColor];

Но когда я пытаюсь установить оттенок цвета, как - `UIImage * navigationBarCol = [UIImage imageNamed: @" navigatorBar_color. PNG "];

self.navigationController.navigationBar.tintColor = [UIColor colorWithPatternImage: navigationBarCol]; ` Затем он не показывает точный цвет и показывает только черный оттенок. navigationBar_color.png - это однократное изображение цвета, которое я хочу установить. Я использую этот метод, чтобы установить цвет строк таблицы или других объектов в моей программе, и он отлично работает.

Кроме того, UIColor colorWithPatternImage должен возвращать UIColor, поэтому оба подхода выглядят похожими на меня. Не могли бы вы рассказать мне тогда, почему второй подход не подходит для navigatiorBar.

ответ

1

TintColor on NavigationBars и элементы управления используются только в качестве основы для расчета градиента, используемого в элементе управления. Вы не можете получить градиентное изображение, поэтому просто используйте его часть. Похоже на то, что вы хотите, это пользовательский подкласс UINavigationBar с переопределенным методом drawRect:.

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