2012-02-11 2 views
0

Как добавить цвет к navigation bar? Мне нужно реализовать это для iOS 4 и выше.Добавление цвета в uinavigationbar

Я хочу, чтобы цвет, похожий на тот, на скриншоте:

App Screenshot with magenta-ish UINavigationBar color

+0

Возможный дубликат [Как изменить цвет кнопок UINavigationBar и?] (Http://stackoverflow.com/questions/1636794/how-to-change-color-of-the-uinavigationbar-buttons-on-it) ... Игнорировать принятый ответ ;-) –

+0

У вас может быть один путь кода для 4 и один для 5, но не включать версию ОС. Протестируйте с помощью ответаSoSlector. См. Связанный пост здесь: http://stackoverflow.com/questions/7800474/custom-uitabbar-background-image-not-working-in-ios-5/7801253#7801253 – bryanmac

ответ

1

В прошивкой < 5 вы можете установить оттенок цвета отдельной панели навигации непосредственно, например:

// self is a UIViewController 
[self.navigationController.navigationBar setTintColor:[UIColor purpleColor]]; 

После вам не нужна совместимость с iOS 4.x, вы можете использовать внешний прокси-сервер для UINavigationBar. Это будет работать для всех панелей навигации в приложении:

[[UINavigationBar appearance] setTintColor:[UIColor purpleColor]]; 
+0

Если я использую только код iOS 4, он будет работать для iOS 4 и 5? – sharon

+0

Первые работы для iOS 4 и 5 - единственное, что связано с наличием нескольких приложений в приложении, которые вы должны установить для каждого из них отдельно. – ayoy

+0

Вы также можете протестировать и переключиться через responsesToSelector. См. Соответствующий пример здесь: http://stackoverflow.com/questions/7800474/custom-uitabbar-background-image-not-working-in-ios-5/7801253#7801253 – bryanmac

2

В примере вы в курсе, он больше похож на изображение фона из-за незначительный эффект освещения. (Это ярче в середине, то вы посмотрите внимательно. В IB, я бар нав установлен черный прозрачный со следующим фоновое изображение. (320 х 44px)

ч файл.

IBOutlet UINavigationBar *navBar; 

м функция файл "viewDidLoad":

navBar.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"nav"]]; 

enter image description here

enter image description here

+0

Ну, я ожидал чего-то вроде твоего, но как вы получили это крошечное пространство между «Nav Bar» и «time» - маленьким баром, где он показывает время автономной работы и т. д.? – sharon

+0

Собственно, спасибо, что заметили это. Это изображение в моем mainViewController. Древесина должна пройти весь путь до строки состояния, поэтому мне нужно это исправить, но при настройке размеров для изображения я просто сделал UIImageView полным 320x480, а затем установил x на 160 (центр) и y до 220 вместо 240, что подталкивает его за панель состояния. Строка состояния имеет высоту 20 пикселей и даже если вы «Заполните контейнер вертикально», вам все равно придется его вручную перетащить. – jhilgert00

+0

Это из симулятора iOS 5 xcode 4.2.1, если это имеет значение. – jhilgert00

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