2014-09-18 4 views
3

Я использую де следующий код для размещения изображения на фоне UINavigation Bar:IOS 8 UINavigationBar Фоновое изображение

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navbar_background_login.png"] forBarMetrics:UIBarMetricsDefault]; 

В прошивкой 7 работает как шарм, но когда я пытаюсь его в том же тренажере но с iOS 8 фоновое изображение не отображается.

Есть новый код для iOS 8? Я ничего не могу найти в сети.


UPDATE:

Я обнаружил один из самых странного поведения я когда-либо видел. Когда я показываю и позже увольняю modalView, появляется фоновое изображение UINavigationBar.

Для получения дополнительной информации: я загружаю изображение в viewDidLoad.

Любые, хотя?

+0

Устаревший дубликат https://stackoverflow.com/questions/43602848/ –

ответ

6

Попробуйте это работает для меня: -

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navbar_background_login.png"] forBarMetrics:UIBarMetricsDefault]; 
+0

Он работал идеально! Я могу поверить, что я этого не пробовал. – miquelweb

+1

[[Внешний вид UINavigationBar] setBackgroundImage: [UIImage imageNamed: @ "navbar_background_login.png"] forBarMetrics: UIBarMetricsDefault]; напишите это в своем делететеле делегата «didFinishLaunchingWithOptions», он установит широкое приложение фонового изображения навигационной панели. – Rajat

+0

Для лучшего решения и разных размеров экрана см. Https://stackoverflow.com/questions/43602848/ –

2

Использование [UINavigationBar appearance] установить фон UINavigationBar глобально правильно. Но обратите внимание, что внешний вид влияет только на будущие экземпляры, но не на уже созданные. Попытайтесь поместить код внешнего вида на место до создания UINavigationConroller. он все равно должен работать.

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