2012-07-05 70 views
0

我試圖自定義導航var的外觀,它出現幾次通過我的應用程序(通用:我正在使用故事板)。出於某種原因,釷的應用程序無法正常工作(它卡在該行:無法在iOS SDK中自定義UINavigationBar的外觀:

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嘗試過,但它不是在這裏爲簡單起見

上面的代碼是在appDelegate類的一個名爲「customizeInterface」的方法中找到,它從相同類(appDelegate)的didFinishLaunchingWithOptions方法中調用。

任何想法,爲什麼可能發生,我能做些什麼來使它工作?

任何意見讚賞!

+0

它沒有得到「卡「,UIApplicationMain在應用程序異常退出時返回,這會中斷運行循環。什麼是日誌打印? – CodaFi 2012-07-05 15:45:19

+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 2012-07-05 15:58:21

+0

0x12b3ef5 0x139d195 0x1301ff2 0x13008da 0x12ffd84 0x12ffc9b 0x11c65 0x13626 0x290d 0x2875) 終止調用拋出異常(lldb) – byteSlayer 2012-07-05 15:58:36

回答

1

UINavigationBar的外觀API不支持名爲setBackgroundImage:的方法。它確實支持一種名爲setBackgroundImage:forBarMetrics:的方法。因此,嘗試:

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