简体   繁体   中英

iOS change tabbar item color is safe?

I am properly using following method to change tabbar icon color,

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

but before using it I read some posts about apple's app rejection due to this issue. I assume that if is an ios5 method must now be accepted. Is it true? Thanks.

It won't be rejected, but you'll have to set your deployment target to iOS 5 and people running iOS 4 won't be able to download and install your app.

To use this method only on iOS 5, and still allow the app to work on iOS 4 (with blue tabs) do this:

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

This code is safe to run on iOS4.

Alternatively, see my answer to this question that explains how to fully customise the tab icon colours in a way that works on any iOS version: tabbar item image and selectedImage

I didn't try it myself but I took a look at the UITabBar Class Reference . The property selectedImageTintColor is documented. So this means, you are allowed to use it. Normally Apple only rejects application that use undocumented (not public) APIs. So you are safe to use it.

You can see there too that the property is available in iOS 5 and later.

You can check this post on how to determine the current iOS version and do the appropriate tab bar item color setting for users running iOS 5 or lower. Hope this helps.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM