2013-01-16 148 views
0

我有一些代碼來自定義TabBar。我使用外觀框架來做到這一點。該應用程序是iOS 5+,所以這應該工作據我瞭解。我的代碼如下所示:UITabBar外觀適用於iOS6,但不適用於iOS 5

NSDictionary *textAttributesNormal = @{ 
    UITextAttributeTextColor: [UIColor colorWithRed:0.04f green:0.25f blue:0.56f alpha:1.00f], 
    UITextAttributeTextShadowOffset: [NSValue valueWithUIOffset:UIOffsetMake(0, 0)] 
}; 

NSDictionary *textAttributesSelected = @{ 
    UITextAttributeTextColor: [UIColor colorWithWhite:1.0 alpha:1.0] 
}; 


[[UITabBar appearance] setTintColor:[UIColor colorWithRed:0.53f green:0.76f blue:0.91f alpha:1.00f]]; 
[[UITabBarItem appearance] setTitleTextAttributes:textAttributesNormal forState:UIControlStateNormal]; 
[[UITabBarItem appearance] setTitleTextAttributes:textAttributesSelected forState:UIControlStateSelected]; 

我在代理的applicationDidFinishLaunching方法中執行此操作。此代碼在iOS6上完美工作,並按照預期進行。但在iOS 5上它什麼都不做。它既不會引發任何警告或錯誤。

在模擬器和實際設備上的行爲是相同的。我可以在界面構建器中設置色調顏色,然後在iOS5上運行。但我沒有找到一種方法來通過IF設置標籤欄項目的文本屬性。

我感謝任何幫助或提示! :-)

最良好的祝願, 托馬斯

回答

0

好吧,外觀代碼不是實際的問題。如前所述我這樣做是在

- (void)applicationDidFinishLaunching:(UIApplication *)application 

該應用程序是年紀大一點和蘋果的文檔狀態,即在IOS3 +應該使用

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

我改變了這一切,現在它工作正常。

相關問題