【问题标题】:How To change Tab Bar Seleced Image? | Swift如何更改标签栏选择的图像? |迅速
【发布时间】:2015-04-23 19:33:01
【问题描述】:

虽然在 Objective C 中设置它很容易, 我觉得 Swift 很难。

我有一个页面视图控制器,它引导我进入一个选项卡控制器(一种教程)。

我正在尝试将选中和未选中更改为我在选项卡栏中获得的两个图像,选中时它将选择“imageSelected.png”,当未选中时它将与“imageNotSelected.png”一起使用(检查下面的sn-p代码)

尝试这个 sn-p 的代码没有做任何事情

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

任何帮助将不胜感激。

编辑:这是我在旧项目中使用的 Objective 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];

注意:我在应用程序委托的 Objective C 代码中使用了它,现在它不同了,因为我需要在 ViewWillAppear 中加载的每个 VC 中以不同的方式加载代码。

【问题讨论】:

  • 展示你的有效的 Objective-C 代码。您可能会自己发现差异。

标签: swift icons xcode6 tabbar uitabbaritem


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2021-08-09
    • 2015-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-12
    • 1970-01-01
    • 1970-01-01
    • 2015-09-10
    相关资源
    最近更新 更多