如何更改标签栏所选图像? |迅速

时间:2015-02-22 11:54:36

标签: swift icons xcode6 tabbar uitabbaritem

虽然在Objective C中设置它非常简单, 我发现Swift很难。

我有一个页面视图控制器,它引导我到一个标签控制器(一种教程)。

我试图将选中和未选中的图像更改为我在Tab栏中显示的两个图像,选中它时会选择" imageSelected.png"未选中时,它将与" imageNotSelected.png" (查看下面的代码段)

尝试这段代码没有做任何事情

 tabBarItem.selectedImage = UIImage(named: "someImage.png")!.imageWithRenderingMode(.AlwaysOriginal)

任何帮助将不胜感激。

编辑:这是我在旧项目中使用的目标C,它起作用。

UITabBarController *tabBarController=(UITabBarController*)(self.window.rootViewController);
tabBarController.selectedIndex = 1; // SELTECT INDEX OF TAB BAR
UITabBar *tabBar=tabBarController.tabBar;
UITabBarItem *tabBarItem1=[[tabBar items] objectAtIndex:0]; //first tab bar
UITabBarItem *tabBarItem2=[[tabBar items] objectAtIndex:1];



UIImage *tabrBarImageOne = [[UIImage imageNamed:@“imageSelectedOne.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UIImage *tabrBarImageOneOff = [[UIImage imageNamed:@“imageNotSelectedOne.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

UIImage *tabBarImageTwo = [[UIImage imageNamed:@“imageSelectedTwo.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UIImage *tabBarImageTwooff = [[UIImage imageNamed:@“imageNotSelectedTwo.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

tabBarItem1 = [tabBarItem1 initWithTitle:@“title1” image:tabrBarImageOneOff selectedImage:tabrBarImageOne];

tabBarItem2 = [tabBarItem2 initWithTitle:@“title2” image:tabBarImageTwooff selectedImage:tabBarImageTwo];

注意:我已经在app delegate中的Objective C代码中使用它,现在它有所不同,因为我需要在ViewWillAppear中加载的每个VC I中加载不同的代码。

1 个答案:

答案 0 :(得分:0)

如果您希望.AlwaysTemplate生效,则需要使用tintColor