在默认uitabbar中为已选择和取消选择的统计信息设置彩色图像

时间:2016-01-26 19:29:23

标签: ios swift2 uitabbar

current tabbar

expected tabbar

如何为选定和取消选择的统计数据设置彩色图像以默认uitabbaritem。

3 个答案:

答案 0 :(得分:2)

您可以使用barTintColor

设置UITabBar的背景颜色
//Sample color codes
self.tabBarController?.tabBar.barTintColor = UIColor(red: 10, green: 10, blue: 10, alpha: 1.0))

您可以使用tabBar项目

上的迭代设置正常条形图和选定图像
    for barItem in (self.tabBarController?.tabBar.items)! {

        // Default image
        barItem.image = UIImage(named: "home")?.imageWithRenderingMode(.AlwaysOriginal)

        // By default Selected image will take tint color set in self.tabBar.tintColor
        barItem.selectedImage = UIImage(named: "home_selected")?.imageWithRenderingMode(.AlwaysOriginal)
    }

通过设置图像的渲染模式为AlwaysOriginal,您可以确保色调颜色不会影响图像。

答案 1 :(得分:1)

很简单,创建一个UITabBarController并在你的故事板中将它设置为tabbar控制器的类,然后在tabBar中创建一个插座,让我们说mainTabBar然后覆盖viewWillAppear方法把它放在里面。

for item in mainTabBar.items!{

        item.image = item.image!.imageWithRenderingMode(.AlwaysOriginal)
        item.selectedImage = item.image
    }

别忘了在最后致电super.viewWillAppear(animated)

答案 2 :(得分:0)

您可以继承UITabBarController并为每个州手动设置每个图像。

例如:

- (void)viewDidLoad {

    [super viewDidLoad];

    [(self.tabBar.items)[0] setImage:[UIImage imageNamed:@"colorfulHouse"]];
    [(self.tabBar.items)[0] setSelectedImage:[UIImage imageNamed:@"colorfulHouseSelected"]];

    [(self.tabBar.items)[1] setImage:[UIImage imageNamed:@"colorfulRecyclingBin"]];
    [(self.tabBar.items)[1] setSelectedImage:[UIImage imageNamed:@"colorfulRecyclingBinSelected"]];
}