更改导航按钮 SwiftUI 的颜色

Posted

技术标签:

【中文标题】更改导航按钮 SwiftUI 的颜色【英文标题】:Change color of Navigation Button SwiftUI 【发布时间】:2020-12-31 16:14:22 【问题描述】:

如何将导航“后退按钮”(它是自动创建的)的颜色更改为黑色, 以及 DisclosureGroup “Chevron” 的颜色为另一种颜色?

我尝试过 .buttonStyle(PlainButtonStyle()).foregroundColor(.black)

struct ContentView: View 

    var body: some View 
    
        NavigationView 
            NavigationLink(destination: DetailView()) 
        
                Text("Go to details ->")
                    .foregroundColor(.purple)
                    .underline()
            
        
    



struct DetailView: View 
    @State private var isExpanded = false
    
    var body: some View 
        VStack 
            DisclosureGroup("All Details", isExpanded: $isExpanded) 
                
            .buttonStyle(PlainButtonStyle())
            .foregroundColor(.black)

            Spacer()
        
        .padding()
    

【问题讨论】:

【参考方案1】:

在这种情况下使用.accentColor

        DisclosureGroup("All Details", isExpanded: $isExpanded) 
            
        
        .accentColor(.black)

添加

struct ContentView: View 

    var body: some View 
    
        NavigationView 
            NavigationLink(destination: DetailView()) 
        
                Text("Go to details ->")
                    .foregroundColor(.purple)
                    .underline()
            
        .accentColor(.black)
    

【讨论】:

以上是关于更改导航按钮 SwiftUI 的颜色的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI 更改内联 navigationBarTitleDisplayMode 的导航栏背景颜色

在 SwiftUI 中点击更改按钮背景颜色

SwiftUI - 点击按钮更改 VStack 的背景颜色

SwiftUI 在 NavigationLink 中更改后退按钮的颜色

SwiftUI - 按下按钮时如何更改所有其他按钮的颜色?

根据 SwiftUI 中的状态(正常、突出显示、禁用)更改按钮颜色?