视图控制器改变标签栏图标和动作

问题描述:

我想控制我的视图控制器类的标签栏图像。我想点击一个按钮并改变标签栏图标。 Snapchat目前在发送快照时会这样做。视图控制器改变标签栏图标和动作

+0

转到故事板中的tabbarcontroller并设置bartintColor –

+0

Snapchat没有tabbar:/ – SeanLintern88

+0

这是完全不同的。我不想改变颜色。我想通过点击一个按钮来改变标签的图像。 – user3338143

你可以尝试点击一个按钮执行此代码:

viewControllerToChange.tabBarItem.image = UIImage(named: "your_image_name") 

可以说你有3个视图控制器标签栏。我们会打电话给他们ViewController1ViewController2,& ViewController3

你想点击一个按钮来改变ViewController1内为ViewController3标签栏图标(图像)。在ViewController1你可以有一个IBAction处理点击一个按钮,改变标签栏图标ViewController3像这样:

@IBAction func buttonAction(_ sender: Any) { 

    if let viewController3 = self.tabBarController?.viewControllers?[2] { 

     viewController3.tabBarItem.image = UIImage(named: "your_image_name") 

    } 
} 

,如果你想在同一视图控制器内改变标签栏图片你可以简单的放self.tabBarItem.image = UIImage(named: "your_image_name")在点击按钮。

注意

tabBarItem.imageIS NOT一样tabBarItem.selectedImage。如果您选择选项卡时需要不同的图像,则必须设置selectedImage。