SwiftUI 在 NavigationLink 中更改后退按钮的颜色
Posted
技术标签:
【中文标题】SwiftUI 在 NavigationLink 中更改后退按钮的颜色【英文标题】:SwiftUI change the back button's color in NavigationLink 【发布时间】:2020-08-15 11:48:02 【问题描述】:在我的 SwiftUI 代码中,我有一个选项卡式视图,在选项卡式视图中我有以下代码:
NavigationView
VStack
Form
Section()
NavigationLink(destination: Text("Second View"))
Text("Elaqe")
// section
//form
.modifier(NavBarModifier(font: self.fontUI,text: "Support"))
.navigationViewStyle(StackNavigationViewStyle())
当我点击导航链接时,我得到以下信息:
它几乎不可读,我想改变它的颜色。我该怎么做?
编辑 1:显然后退按钮的颜色取决于 tabView 的accentColor
。是否可以将标签视图的强调色保持橙色并将后退按钮的颜色更改为其他颜色?
编辑 2:导航栏修饰符
func body(content: Content) -> some View
return content
.zIndex(0)
.animation(.spring())
.padding(.top,80)
.navigationBarTitle(Text(self.text),displayMode: .inline)
.navigationBarHidden(false)
.foregroundColor(.orange)
.background(NavigationConfigurator nc in
nc.navigationBar.barTintColor = UIColor(red: 243/255, green: 107/255, blue: 21/255, alpha: 1)
nc.navigationBar.titleTextAttributes = [
.foregroundColor : UIColor.white,
.font : self.font,
.kern: 1.2
]
.padding([.top, .leading, .trailing]))
【问题讨论】:
你会显示 NavBarModifier 吗? @Asperi 我将其添加到问题中。但是,我发现它与选项卡视图的强调色有关,而不是 navbarmodifier。 在 Xcode 12b3 / ios 14 上,< Support
是蓝色的,以防万一。
【参考方案1】:
我不得不更改NavigationView
accentColor。
【讨论】:
对你有好处!请注意,它不仅会更改后退按钮的颜色,还会更改 NavigationView 中所有默认活动元素(按钮、栏项等)的颜色。以上是关于SwiftUI 在 NavigationLink 中更改后退按钮的颜色的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI 在 NavigationLink 中更改后退按钮的颜色
如何在 SwiftUI 中为 NavigationLink 创建工厂方法?
SwiftUI 在 NavigationLink 视图中隐藏 TabView 栏