我正在尝试更改我的导航栏标题颜色(而不是背景)。我尝试了一对夫妇的解决方案,但我的标题文本颜色只改变当我向下滚动。当屏幕打开时不改变。
var body: some View {
ZStack{
NavigationView{
ScrollView{
LazyVStack{
ForEach(storeArray,id:\.id) { item in
Image(uiImage: (item.banner?.url)!.load())
.resizable()
.frame(width: CGFloat(UIScreen.main.bounds.width * 0.9), height: CGFloat((UIScreen.main.bounds.width / CGFloat((item.banner?.ratio) ?? 1))))
.cornerRadius(12)
.shadow(radius: 4)
.aspectRatio(CGFloat((item.banner?.ratio)!), contentMode: .fit)
}
}
}
.navigationBarTitle(Text("United App").foregroundColor(.blue))
.background (NavigationConfigurator { nc in
nc.navigationBar.titleTextAttributes = [.foregroundColor : UIColor.blue]
})
}
.onAppear {
if isOpened != true {
getStoreResponse()
}
}
3条答案
按热度按时间zbdgwd5y1#
您需要添加相同的大标题
另一种方法是使用外观而不是配置器,但应该在视图
init
中(在创建NavigationView
之前)完成,如b5buobof2#
您还可以使用更完整的方法:
结果如下:
brtdzjyr3#
在initialize中调用这个
使用此函数可更改swiftUI中的导航栏标题和背景颜色