Как вы программно устанавливаете цвет фона для UINavigationbar?

Я использую компонент iOS для какао из cocoacontrols.com, который НЕ использует раскадровки. Этот класс создает новый модальный вид, а модальный вид имеет NavigationBar вверху. Я пытаюсь изменить цвет навигационной панели. Во всех моих других представлениях, основанных на раскадровке, я использую базовый класс STBaseViewController, который устанавливает navigationBar как белый.

Я изменил этот класс cocoacontrol как STBaseViewController вместо UIViewController, но он по-прежнему не меняет свой фон на белый.

@interface BZPasscodeFieldController : STBaseViewController 

В BZPasscodeFieldController, в котором они не ссылаются на навигационную панель, я не уверен, как ее даже показывают (опять же, у нее нет только xib-систем раскадровки, и у них нет навигационных панелей)?

В любом случае, кто-нибудь знает, как сделать цвет фона панели навигации белым программным путем?

Кроме того, во всех моих раскадровках viewControllers, которые имеют UINavigationBar, я добавил UIButton над областью, где заголовок заголовок, так что я могу легко изменить шрифт / стиль, а также сделать его интерактивным. Мне нужно добавить этот же UIButton к uinavigationBar этого BZPasscodeFieldController, созданного программно. Как мне это сделать?

За ваш вопрос о кнопке на месте названия navigationBar. Каждый navigationBar имеет свойство titleView , вы можете назначить ему любой вид. Например, взгляните на этот метод, вы можете вызвать его в своем BZPasscodeFieldController:

 - (void) setNavigationBarTitleButton { UIButton* centralButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 40, 44)]; [centralButton setImage:navigationCentralButtonImage forState:UIControlStateNormal]; [centralButton setShowsTouchWhenHighlighted:TRUE]; [centralButton addTarget:self action:@selector(goHigher) forControlEvents:UIControlEventTouchDown]; self.navigationItem.titleView = centralButton; } 

Для вашего предыдущего вопроса предоставленные ответы уже правильны, вызвав их в нужном месте (например, в приложении AppDelegate: didFinishLaunchingWithOptions: должно заставить его работать хорошо, если только что-то не испортилось в ваших пользовательских классах классов просмотра.

Чтобы установить цвет фона панели навигации:

 [[UINavigationBar appearance] setBarTintColor:[UIColor orangeColor]]; 

Чтобы установить цвет заливки навигационной панели:

 [[UINavigationBar appearance] setTintColor:[UIColor whiteColor]]; 
 [[UINavigationBar appearance] setTintColor:[UIColor blueColor]]; 
 [self.navigationController.navigationBar setTintColor:[UIColor whiteColor]]; 
  • Изменить заголовок родительского представления с дочернего элемента
  • Белые пиксели вокруг пользовательского изображения навигационной панели
  • Скрыть панель навигации после использования строки поиска
  • Изменить название элемента панели навигации.
  • Установите высоту полосы навигации в Swift
  • Левая стрелка - UINavigationItem
  • UINavigationController с пользовательским NavigationBar
  • UINavigationBar поверх строки состояния после отклонения модального контроллера
  • Пользовательская кнопка «Назад» на панели навигации Не работает
  • Заголовок в навигационной панели слишком длинный на меньших экранах; установить размер шрифта для разных размеров экрана?
  • Как я могу найти кнопку «Найти моих друзей», используя iOS 5? это как если бы кнопки были запечатаны в кожу
  • Давайте будем гением компьютера.