You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift项目中自定义UITabBarItem按钮图片无法显示如何解决?

TabBar Item 不显示自定义图片的解决方法

1. 修改图片渲染模式

系统默认会将TabBarItem的图片以模板模式渲染,自动填充全局tintColor(默认蓝色),仅保留图片轮廓,导致自定义图片颜色/内容无法正常展示,需要手动指定渲染模式为原图模式:

// 修改createListNC方法中的UITabBarItem初始化代码
listVC.tabBarItem = UITabBarItem(title: "", image: UIImage(named: "btn_new")?.withRenderingMode(.alwaysOriginal), tag: 0)
// 如需自定义选中状态图标,可额外添加以下代码
listVC.tabBarItem.selectedImage = UIImage(named: "btn_new_selected")?.withRenderingMode(.alwaysOriginal)

2. 给TabBarController赋值视图控制器数组

你定义的setUpTabbarItems()方法并未在viewDidLoad中调用,TabBarController没有拿到你配置好的视图控制器,需要在viewDidLoad中添加赋值代码:

override func viewDidLoad() {
    super.viewDidLoad()
    createEventViewController = CreateEventViewController()
    self.delegate = self
    self.tabBar.barTintColor = UIColor.customGreen()
    // 新增以下代码
    self.viewControllers = setUpTabbarItems()
}

3. 校验Assets中图片尺寸

UITabBar的图标有标准尺寸要求,尺寸不符会导致显示异常:

  • @1x 分辨率:25 * 25 px
  • @2x 分辨率:50 * 50 px
  • @3x 分辨率:75 * 75 px
    打开Assets.xcassets中的btn_new资源,确认三个分辨率槽位都放置了对应尺寸的图片。

内容的提问来源于stack exchange,提问作者Yuuu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 10:36:03