更改 TabView (SwiftUI) 中未选中图标的颜色

Posted

技术标签:

【中文标题】更改 TabView (SwiftUI) 中未选中图标的颜色【英文标题】:Change color of unselected icon in TabView (SwiftUI) 【发布时间】:2020-04-24 08:58:50 【问题描述】:

如何在 TabView (SwiftUI) 中更改未选中图标(在屏幕截图上)的颜色?因为这个图标是不可见的

【问题讨论】:

【参考方案1】:

您可以使用我的解决方案中的TabBarAccessor 到Programmatically detect Tab Bar or TabView height in SwiftUI 来更改您需要的内容,如下面的演示所示。

使用 Xcode 11.4 / ios 13.4 测试

TabView 
    Text("First View")
        .background(TabBarAccessor  tabBar in
            tabBar.unselectedItemTintColor = UIColor.red
        )
        .tabItem  Image(systemName: "1.circle") 
        .tag(0)
    Text("Second View")
        .tabItem  Image(systemName: "2.circle") 
        .tag(1)

更新:通过外观替换也可以使用

init() 
    UITabBar.appearance().unselectedItemTintColor = UIColor.green

【讨论】:

有效!谢谢!我可以在我的 View Struct 的 'init()' 方法中做类似的事情吗?更改背景的示例 'init() UITabBar.appearance().barTintColor = MyColor.blackcolorUI '

以上是关于更改 TabView (SwiftUI) 中未选中图标的颜色的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI:Tabview,更改选项卡时保持状态

如何更改 SwiftUI TabView 点指示器位置?

更改页面时,SwiftUI TabView 内存占用不断增加

使用tabview更改选项卡时如何使SwiftUI中的计时器保持触发

SwiftUI:TabView 动态强调颜色

当 ObservedObject 更改时,在 SwiftUI 视图中未调用 onReceive