iOS更改tabbar项颜色是否安全?

时间:2012-02-05 11:19:15

标签: objective-c ios xcode cocoa-touch ios5

我正在使用以下方法更改标签栏图标颜色

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

但在使用之前我读了一些关于苹果应用程序拒绝的帖子,因为这个问题。我假设现在必须接受ios5方法。这是真的吗?感谢。

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

我自己没有尝试,但我看了UITabBar Class Reference。属性selectedImageTintColor已记录在案。所以这意味着,您可以使用它。通常,Apple仅拒绝使用未记录(非公共)API的应用程序。所以你可以安全地使用它。

您也可以在iOS 5及更高版本中看到该属性。

答案 2 :(得分:0)

您可以查看this post有关如何确定当前iOS版本的信息,并为运行iOS 5或更低版本的用户执行相应的标签栏项目颜色设置。希望这会有所帮助。