以编程方式更改 tabBarItem 图像

Change tabBarItem image programmatically

使用 iOS14.0.1, Swift5.3, Xcode12.0.1,

我想动态更改 UITabBarController 的 tabBarItem 的图像

这是我的代码:

self.tabBarCtrl?.viewControllers?[2].tabBarItem.image = #imageLiteral(resourceName: "Sign_ready")
self.tabBarCtrl?.viewControllers?[2].tabBarItem.selectedImage = #imageLiteral(resourceName: "Sign_ready")

但是,在我的应用程序中,有两个问题

a) 图像确实发生了变化,但太大了 b) 图片颜色错误

我怎样才能摆脱这两个问题?

这里是上面代码的当前外观截图:

  1. 关于尺码 您可以更改大小图像预览检查其他两个图像的大小(像素)并使用相同的大小 enter image description here 您可以像这张图片一样按尺寸设置图片
  1. 图像颜色

一个。首先将您的图像设置为始终模板

firstviewcontrolle.tabBarItem.image = UIImage(named: "数据库副本")?.withRenderingMode(UIImage.RenderingMode.alwaysTemplate)

b。其次使用此代码设置色调颜色

UITabBar.appearance().unselectedItemTintColor = UIColor.black