【发布时间】: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