Итак, поскольку многие программисты используют узел. прецедент, который отвечает этому вопросу, заключается в исключении node_modules
, за исключением одного модуля module-a
, например:
!node_modules/
node_modules/*
!node_modules/module-a/
Если вы попытаетесь просмотреть docs около UIAppearance
, вы увидите примечание:
iOS применяет изменения внешнего вида, когда представление входит в окно, он не меняет внешний вид представления, которое уже находится в окне. Чтобы изменить внешний вид представления, находящегося в данный момент в окне, удалите представление из иерархии представления и верните его.
На основании этой заметки вы можете измените внешний вид с помощью небольшого трюка, удалив и сразу же верните самый верхний вид в иерархии после применения изменений внешнего вида:
guard let currentView = (UIApplication.shared.delegate as? AppDelegate)?.window?.rootViewController?.view, let superview = currentView.superview else { return } UITabBar.appearance().tintColor = .green currentView.removeFromSuperview() superview.addSubview(currentView)
Вы можете просто установить цвет вашего tabBar с помощью функции tabBar.backgroundColor
-property:
self?.tabBar.backgroundColor
Пожалуйста, убедитесь, что вы обновляете цвет фона в основном потоке.
DispatchQueue.main.async { [weak self] in
self?.tabBar.backgroundColor = newAppearanceColor
}