【问题标题】:Change unselectedItemTintColor for single tab bar icon更改单个标签栏图标的 unselectedItemTintColor
【发布时间】:2020-05-26 10:55:59
【问题描述】:

我有一个 UITabBarController 的子类,包含 5 个项目。

第5项是用户头像。

final class HomeSceneViewController: UITabBarController {

  init(tabs: [UIViewController]) {
    super.init(nibName: nil, bundle: nil)
    viewControllers = tabs

    configureUI()
  }

  required init?(coder: NSCoder) {
    return nil
  }
}

private extension HomeSceneViewController {
  func configureUI() {
    view.backgroundColor = .white
    tabBar.unselectedItemTintColor = .red
    tabBar.tintColor = .blue
  }
}

目前每个视图控制器都使用tabBarItem = UITabBarItem(title: nil, image: tab.iconOff, selectedImage: tab.iconOn) 设置它自己的tabBarItem 属性,该属性有效,但是unselectedItemTintColor 在头像上设置了我不想要的覆盖,因为它应该按原样显示头像。

是否可以按标签设置unselectedItemTintColor?

【问题讨论】:

    标签: ios swift uitabbarcontroller uitabbar


    【解决方案1】:

    尝试像这样使用 renderMode(.alwaysOriginal) 提供图像:

    tabBarItem = UITabBarItem(title: nil,
                              image: tab.iconOff?.withRenderingMode(.alwaysOriginal),
                              selectedImage: tab.iconOn?.withRenderingMode(.alwaysOriginal))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-17
      • 2013-06-11
      • 2012-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-12
      • 1970-01-01
      相关资源
      最近更新 更多