如何解决在SwiftUI中更改TabBar色调
如何在SwiftUI中更改TabBar的颜色/色调?我可以使用以下命令在init上设置一次:
init() {
UITabBar.appearance().barTintColor = .green
}
var body: some View {
TabView {
...
但是稍后,当按下按钮时,我想将颜色更改为其他颜色。像上面那样简单地更新UITabBar的外观()无效。我在想我需要以某种方式“提交”我的更改或将TabBar标记为需要更新,但是我不确定该怎么做。 谢谢
解决方法
这个问题也回答了我的问题:question
解决方案是当我希望改变颜色时强制TabBar完全重新加载。我通过将其ID设置为当我想要更改颜色时会改变的东西来做到这一点,因此,当该值更改时,TabBar的ID也会更改,整个TabBar都会重新加载。
,struct TabBar: View {
init() {
UITabBar.appearance().barTintColor = UIcolor.black
var body: some View {
TabView {
HomeView().tabItem {
Image(systemName: "house.fill")
Text("Home")
}
MapView().tabItem {
Image(systemName: "mappin.circle.fill")
Text("Map")
}
}
.edgesIgnoringSafeArea(.top)
}
}
我发现了类似的东西。这是参考文献https://www.thetopsites.net/article/58250211.shtml
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。