2012-03-16 47 views
0

我在application:DidFinishLaunchingWithOptions:下面的代碼,我嘗試設置標籤欄色調顏色:上UITabBAr Cuases應用程序設置tintColor崩潰

UIColor *colour = [UAColors getSeasonalColour]; 

self.tabBarController.tabBar.tintColor = colour; // SIGABORT here 
[colour release]; 

getSeasonalColours是:

+(UIColor *)getSeasonalColour { 
    UIColor *seasonalColour = 0; 

    if ([UADates isSpring:[NSDate date]]) 
     seasonalColour = [UIColor greenColor]; 
    else if ([UADates isSummer:[NSDate date]]) 
     seasonalColour = [UIColor blueColor]; 
    else if ([UADates isAutumn:[NSDate date]]) 
     seasonalColour = [UIColor orangeColor]; 
    else if ([UADates isWinter:[NSDate date]]) 
     seasonalColour = [UIColor redColor]; 
    else 
     seasonalColour = [UIColor blackColor]; 

    return seasonalColour; 
} 

眼下UADates是隻有存根isWinter返回true。

爲什麼會導致崩潰?當我在導航欄上設置tintColor時,使用相同的getSeasonalColours工作得很好。

+0

如果用'[UIColor redColor]'替換違規行中的'colour',會發生什麼?這應該有助於隔離問題。 – PengOne 2012-03-16 16:17:46

+0

@PengOne同樣的錯誤。 – 2012-03-16 16:22:04

回答

3

設置標籤欄的色調顏色只能從iOS 5開始使用(因此會在iOS 4及更早的版本中崩潰),而自iPhone OS 2.0開始,導航欄的色調就已經存在。

+0

這將是原因。公認。 – 2012-03-16 16:39:40

2

[colour release]不應該在那裏,因爲你的顏色都是自動釋放的。你確定是不是崩潰的線?

+0

試過這個。仍然崩潰,但仍然有幫助。 – 2012-03-16 16:40:32