Изменить unselectedItemTintColor для значка одной панели вкладок - PullRequest
0 голосов
/ 26 мая 2020

У меня есть подкласс 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, используя tabBarItem = UITabBarItem(title: nil, image: tab.iconOff, selectedImage: tab.iconOn), который работает, однако unselectedItemTintColor устанавливает оверлей на аватар, который мне не нужен, поскольку он должен отображать аватар как есть.

Можно ли установить unselectedItemTintColor для каждой вкладки основа?

1 Ответ

2 голосов
/ 26 мая 2020

Попробуйте предоставить изображение с помощью renderMode (.alwaysOriginal) следующим образом:

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