2

На iPhone и iPad у меня есть необходимость представить две кнопки в правой части панели навигации. Я делаю это с помощью следующего фрагмента кода:Изменение цвета UIToolbar + его кнопок при представлении в Popover Controller на ipad

UIToolbar *rightBarButtons = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 92, 44.01)]; 
UIBarButtonItem *send = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction 
                     target:self 
                     action:@selector(send)]; 
[send setStyle:UIBarButtonItemStyleBordered]; 
UIBarButtonItem *add = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd 
                     target:self 
                     action:@selector(addRecipe:)]; 
[add setStyle:UIBarButtonItemStyleBordered]; 
NSArray *buttons = [[NSArray alloc] initWithObjects:send,add,nil]; 
[send release]; 
[add release]; 
[rightBarButtons setItems:buttons]; 
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:rightBarButtons]; 
[buttons release]; 
[rightBarButtons release]; 

На iPhone цвет прекрасен, и в ландшафтном режиме на IPad это хорошо, как они серые. Однако в портретном режиме вид появляется внутри регулятора popover, который имеет темный черный/синий цвет. Мои кнопки и панель инструментов отображаются серым по умолчанию.

Как можно совместить кнопки на панели инструментов? Если вы не используете хак выше и просто представляете одну кнопку, как обычно, обрабатывается изменение цвета, и я предполагаю, что мне просто нужно реализовать это изменение цвета вручную, проблема в том, что я не могу заставить цвет вообще меняться.

ответ

0

Это, казалось бы, свойство barStyle, а не tintColor, как я думал ранее. Самое простое решение, чтобы скопировать стиль бара из других мест:

[rightBarButtons setBarStyle:self.navigationController.navigationBar.barStyle]; 

Это то довольно тривиально, чтобы обеспечить стиль остается правильными, как изменения зрения. Хотя я должен сказать, что мне очень нравились темно-синие черные кнопки над серебряной навигационной панелью, которая давала после вращения.

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

  • Нет связанных вопросов^_^