2012-07-05 3 views
0

Я пытаюсь настроить внешний вид навигационного var, который появляется пару раз через мое приложение (FYI: Я использую раскадровки). По какой-то причине, Th приложение не работает (он застревает в строке:Невозможно настроить внешний вид UINavigationBar в SDK для iOS:

return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 

в файле main.m, говоря: «Тема 1: сигнал SIGABRT».

Код я написал это это:

UIImage * TabBarBG = [UIImage imageNamed:@"TabBarBG.png"]; 
[[UITabBar appearance] setBackgroundImage:TabBarBG]; 
[[UINavigationBar appearance] setBackgroundImage:TabBarBG]; 

Доработка панели вкладок работает отлично, кстати, и я попытался его с другим изображением для NavBar, но его здесь не ради простоты

код вышенайденный в методе под названием «customizeInterface» класса appDelegate, и он вызывается из метода didFinishLaunchingWithOptions того же класса (appDelegate).

Любая идея о том, почему это может произойти, и что я могу сделать, чтобы она работала?

Все комментарии оценены!

+0

Это не «застревают ", UIApplicationMain возвращается, когда приложение выходит аномально, что прерывает цикл выполнения. Что такое печать журнала? – CodaFi

+0

2012-07-05 18: 37: 41.324 SocialNow [797: f803] - [_ UIAppearance setBackgroundImage:]: непризнанный селектор отправлен в пример 0x6d42930 2012-07-05 18: 37: 41.326 SocialNow [797: f803] *** Нагрузочное приложение из-за неперехваченное исключение 'NSInvalidArgumentException', причина: '- [_ UIAppearance setBackgroundImage]: непризнанный селектор направил к экземпляру 0x6d42930' *** Первого стек бросить вызов: (0x13c9022 0x155acd6 0x13cacbd 0x132fed0 0x132fcb2 0x2bea 0x2997 0x11386 0x12274 0x21183 0x21c38 0x15634 – byteSlayer

+0

0x12b3ef5 0x139d195 0x1301ff2 0x13008da 0x12ffd84 0x12ffc9b 0x11c65 0x13626 0x290d 0x2875) terminate called throwing exception (lldb) – byteSlayer

ответ

1

API внешнего вида UINavigationBar не поддерживает метод с именем setBackgroundImage:. Однако он поддерживает метод с именем setBackgroundImage:forBarMetrics:. Так что попробуйте:

[[UINavigationBar appearance] setBackgroundImage:TabBarBG forBarMetrics:UIBarMetricsDefault]; 
0

Кроме того, здесь, как вы можете изменить название панели навигации и цвет тени (если он конфликтует с новым фоновым изображением):

https://stackoverflow.com/a/11005059/215845

+1

Благодарим за дополнительную полезную информацию! – byteSlayer

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