我想看看是否可以根据选择的选项卡项更改底部 tabview 的颜色。目前,我可以使用 init.d 中的以下代码清除 tabview 栏。
let tabBar = UITabBar.appearance()
init() {
tabBar.barTintColor = UIColor.clear
tabBar.backgroundImage = UIImage()
tabBar.shadowImage = UIImage()
}
...
TabView(selection: $selectedTab) {
FirstView()
.tabItem{
Text("First")
}
SecondView()
.tabItem{
Text("Second")
}
}
.onAppear{
setTabViewBackground()
}
func setTabViewBackground() {
if selectedTab != 0 {
tabBar.barTintColor = UIColor.blue
}
}
Run Code Online (Sandbox Code Playgroud)
试图在身体重绘和 idk 时触发 func,如果它的这种声明式风格得到了我的最好,但根本不改变 tabview 背景。