使用故事板在标签栏控制器中设置选定的图像

Sid*_*rth 58 ios xcode5

我正在使用Storyboarding,我有一个带有五个标签的标签栏控制器.在故事板中,我可以设置标签栏项目的图像.Apple文档建议每个标签栏项目有两个图标 - 一个用于选定状态,另一个用于未选择状态.

我无法弄清楚如何使用故事板来做到这一点.

Ham*_*zad 145

您可以使用故事板设置选定的tabbar图像.我试过,它对我有用.选择UITabbarItem并添加运行时属性'selectedImage',选择Type作为'Image'并将图像的名称作为其值.

使用故事板设置Tabbar的选定图像

我使用的是XCode 6.0,我的最低部署目标是iOS 8.0.

  • 新版本的XCode在Attributes Inspector中有一个"Selected Image"字段,但它似乎不起作用.谢天谢地,这个答案对我有用. (32认同)
  • 我试过了.但是,不适合我.来自xcode> 6.1 (4认同)
  • 我试过了.但是,不适合我.我不确定是什么原因. (3认同)
  • 在Xcode 7上测试 - UITabBarItem的Attributes Inspector中的Selected Image字段似乎对我来说很好.在iOS 9中进行测试.不确定它是否仍然适用于iOS 8设备.编辑:在8.4模拟器中测试 - 也在故事板中使用所选图像字段 (3认同)
  • 现在您可以在Inspector中使用Bar Item - > Image字段,注意不是Tab Bar Item - > Selected Image. (2认同)

Sag*_*ode 23

以下是Tabbar For XCode> = 8中选定/未选定图像的完整解决方案:

  • 转到图像资源 - >选择图像
  • 选择渲染AS:"原始图像"

在此输入图像描述

  • 之后转到故事板 - >选择Tabbar项目
  • 在Attribute Inspectors下,设置"Selected Image"和"Image",如下面的屏幕截图所示:

在此输入图像描述


Inf*_*faz 13

在XCode 8及更高版本中,您只需在图像资源中执行此操作,只需选择图像并选择渲染为"原始图像"即可.(请查看附图)..有乐趣:)在此输入图像描述

  • 这是一个非常重要的部分,因为简单地将UIImage设置为selectedImage对我没有任何帮助.(我必须注意,我是以编程方式进行的)感谢@Infaz (2认同)

Sid*_*rth 11

是的,这不能使用故事板来完成 - 需要编写代码.

UINavigationViewControllerviewDidLoad方法,我们可以写代码如下-

UITabBar *tabBar = self.tabBar;

UITabBarItem *targetTabBarItem = [[tabbar items] objectAtIndex:0]; // whichever tab-item
UIImage *selectedIcon = [UIImage imageNamed:@"name-of-selected-image.png"];
[targetTabBarItem setSelectedImage:selectedIcon];
Run Code Online (Sandbox Code Playgroud)


Tri*_*non 7

您现在可以在故事板中轻松完成此操作.在您拥有的每个tabview控制器上,它应该在层次结构中包含一个Tab Bar项(看起来像一个小蓝星),单击此按钮,右侧的设置应如下图所示.标签栏标题和图像可以在此处更改.

在此输入图像描述

  • 该字段存在但尚未开始工作.和Hamaz一起回答...... (6认同)
  • 从Xcode 7开始,它现在可以使用了!最后. (2认同)

Tia*_*des 6

在新的Xcode 8中,您可以在Storyboard中进行操作,而无需像高级答案中所建议的那样定义运行时属性.

打印屏幕选项卡栏项目

不要忘记图像应该具有以下尺寸:

  • @ 1x:约25 x 25
  • @ 2x:约50 x 50
  • @ 3x:约75 x 75


Loe*_*bre 5

我认为最简单的方法是从Inspector设置图像.你有一个名为Bar Item - > Image的字段,你必须在那里设置图像名称.注意,不要与标签栏项目 - >选定图像混淆

在此输入图像描述


Mhm*_*izk 5

SWIFT 3.0 --> 设置标签栏按钮图像的理想方法如下:

首先设置要用于按钮的图像:

    let homeImage = UIImage(named: "TabHome")
    let homeTappedImage = UIImage(named: "TabHomeRed")
Run Code Online (Sandbox Code Playgroud)

然后设置类型为 UITabButtonItem 的按钮:

    let homeButton = UITabBarItem(title: homeText, image: homeImage, selectedImage: homeTappedImage)

    //with this method you set the image when the button is not selected 
    homeButton.image = homeImage?.withRenderingMode(UIImageRenderingMode.alwaysOriginal)


    //with this method you set the image when the button is selected 
    homeButton.selectedImage = homeTappedImage?.withRenderingMode(.alwaysOriginal)
Run Code Online (Sandbox Code Playgroud)