标签栏图标选择的图像

时间:2010-10-27 07:09:03

标签: iphone uitabbar

如何自定义标签栏上的所选图像/图标?这可能吗?

请指教。感谢

4 个答案:

答案 0 :(得分:10)

可以不添加任何子视图。

在定义标签栏的类中设置属性 tabBarItem为 - >>

UITabBarItem *tabBarItem1 = [[self.tabBar.tabBar items] objectAtIndex:0];
[tabBarItem1 setFinishedSelectedImage:[UIImage imageNamed:@"campaigns_hover.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"campaigns.png"]];

它是tabBarItem的属性,你可以将默认的蓝色图像更改为自定义图像。 campaigns_hover.png是选定的自定义图片AND campaigns.png是未选中的自定义图片...

享受秘密.. :)

答案 1 :(得分:1)

在iOS 6中,我更改了选定的Tabbaritem图像,如 -

在Tabbar控制器委托方法

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController

{
    if([tabBarController selectedIndex] == 0)
    {
        [viewController.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"selected.png"]withFinishedUnselectedImage:[UIImage imageNamed:@"unselect.png"]];
    }    
}

通过这个你可以改变你的形象。

或者您可以直接在视图控制器init(或ViewWillAppear)方法中使用,例如

[viewController.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"selected.png"]withFinishedUnselectedImage:[UIImage imageNamed:@"unselect.png"]];

答案 2 :(得分:-4)

您可以更改图像,但所选图像始终具有应用于图像的相同蓝色叠加。我能看到解决这个问题的唯一方法可能是继承UITabBarItem。

答案 3 :(得分:-6)

是。请阅读Apple documentation

您可以通过IB或代码

来完成