2012-02-05 55 views
1

我正確使用下面的方法來改變的TabBar圖標顏色,iOS更改tabbar項目的顏色是否安全?

[tabBarController.tabBar setSelectedImageTintColor:[UIColor redColor]]; 

但使用它之前,我讀到蘋果的App抑制由於這個問題一些職位。我假設如果是ios5方法現在必須被接受。這是真的嗎?謝謝。

回答

9

它不會被拒絕,但您必須將您的部署目標設置爲iOS 5,並且運行iOS 4的用戶將無法下載和安裝您的應用程序。

只在iOS 5中使用此方法,並且仍然允許應用程序在iOS 4的工作(藍色標籤)做到這一點:

if ([UITabBar instancesRespondToSelector:@selector(setSelectedImageTintColor:)]) 
{ 
    [tabBarController.tabBar setSelectedImageTintColor:[UIColor redColor]]; 
} 

此代碼是安全的,對iOS4的運行。

另外,看到我的回答這個問題,說明如何完全自定義標籤圖標的顏色在任何的iOS版本的使用方式:tabbar item image and selectedImage

+0

謝謝,那麼在iOS4下運行的人可以下載應用程序,但這種方法不會被執行,而是總是顯示默認的藍色?可能? – Jaume 2012-02-05 11:42:48

+0

是的,我已經更新了我的答案。 – 2012-02-05 12:08:14

+0

真棒解決方案,測試和工作!真的很有用,再次感謝 – Jaume 2012-02-05 12:26:47

0

我沒有嘗試過,但我看了一下UITabBar Class Reference。記錄屬性selectedImageTintColor。所以這意味着,你可以使用它。通常,Apple只會拒絕使用無證(不公開)API的應用程序。所以你可以安全地使用它。

您也可以在那裏看到該屬性在iOS 5及更高版本中可用。

0

您可以檢查對如何確定當前的iOS版本this post和爲運行iOS 5或更低版本的用戶做適當的標籤欄項目顏色設置。希望這可以幫助。

+0

使用instancesRespondToSelector :(請參閱我的答案)檢查方法是否比測試iOS版本更好。這意味着你不需要跟蹤每個功能引入哪個iOS版本。 – 2012-02-05 12:32:24