Раскрасить UINavigationBar в iOS - PullRequest
       11

Раскрасить UINavigationBar в iOS

0 голосов
/ 02 декабря 2009

Я раскрасил оранжевую панель навигации с помощью:

navigationController.navigationBar.tintColor = [UIColor colorWithRed:0.88 green:0.52 blue:0.27 alpha:1];

Все работает нормально, каждая кнопка такая же оранжевая, как и полоса, но когда ic попадает в пользовательское меню нужного элемента, оно отображается синим цветом. Это скриншот: http://img146.imageshack.us/img146/5605/schermata20091202a14565.png

и это код для правильных кнопок:

UIView *container = [[UIView alloc] init];
UIToolbar *tools = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 80, 45)];

NSMutableArray *buttons = [[NSMutableArray alloc] initWithCapacity:2];

UIBarButtonItem *bi = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(addGadget:)];
bi.style = UIBarButtonItemStyleBordered;
[buttons addObject:bi];
[bi release];

bi = [[UIBarButtonItem alloc]
initWithImage:[UIImage imageNamed:@"less.png"] style:UIBarButtonItemStyleBordered target:self action:@selector(setEditing:)];
[buttons addObject:bi];
[bi release];

[tools setItems:buttons animated:NO];
[buttons release];

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:tools];
[tools release];

Как сделать так, чтобы все было оранжевым?

1 Ответ

1 голос
/ 02 декабря 2009

Вы должны установить tintColor объекта UIToolbar таким же, как у UINavigationBar.

Обратите внимание, что UIToolbar - это не то же самое, что UINavigationBar, градиент / цвет фона немного отличается. Попробуйте установить backgroundColor UITobar на +[UIColor clearColor]

Кроме того, вам, вероятно, даже не нужен контейнер UIView, поскольку UIToolbar является подклассом UIView, поэтому вы можете использовать его как customView сам по себе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...