storyBoard 设置tabbar的图片和文字

使用storyBoard来设置tabbar,添加图片和设置文字时总是显示系统的颜色,以下讲解如何设置为自己想要的效果

一 .设置图片

image.png

如上图设置图片后,图片显示不出自己本身的颜色,如何设置显示显示图片原来的样子呢?
iOS开发,图片都是用Assets.xcassets文件夹来管理,我们来到该文件夹,找到所有tabbar用到的图片,分别设置图片的renderingMode属性为 UIImageRenderingModeAlwaysOriginal 如下图:


image.png

这样tabbar的图片就设置好了

二 . 设置文字

image.png

如上图我们在此处添加文字,添加后文字也是会自动显示系统的颜色,设置文字的颜色如下图:


image.png
image.png

或者。。。。。。。。。。。 如下图


image.png

这两种方法都可以改变文字的颜色

整体设置后的结果,如下图:


Simulator Screen Shot - iPhone 11 - 2021-08-04 at 15.09.16.png

这样选中文字的颜色是自定义的,未选中文字的颜色是系统的颜色

如果。。。项目要求选中颜色和为选中颜色都要使用自己自定义的颜色,我的解决方案是创建一个继承自UITabBarController的基类,此处我命名为BaseTabbarController,如下图,设置我们的tabbarController继承自该基类:


image.png

BaseTabbarController里面的代码如下:

class BaseTabbarController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
        UITabBar .appearance().shadowImage = UIImage.init()
        UITabBar.appearance().backgroundImage = UIImage.init()
        
        let item = UITabBarItem.appearance()
        item.setTitleTextAttributes([NSAttributedString.Key.foregroundColor : UIColor.red], for: .normal)
        item.setTitleTextAttributes([NSAttributedString.Key.foregroundColor : UIColor.green], for: .selected)
        
    }
}

分别设置选中和未选中文字的颜色即可

提示:
这样设置之前,需要在storyBorad中把设置文字颜色的选项去掉,操作如下图:


image.png

storyBoard ,tabbar图片和文字的设置就介绍到这里,有什么不足,望指教!

你可能感兴趣的:(storyBoard 设置tabbar的图片和文字)