如何设置 NavigationView 符号按钮的颜色

Posted

技术标签:

【中文标题】如何设置 NavigationView 符号按钮的颜色【英文标题】:How to set the color of a NavigationView symbol button 【发布时间】:2021-07-08 17:45:34 【问题描述】:

我目前有一个带有嵌入式 ToolbarItemGroup 的 NavigationView,其中包含带有 SF 符号的按钮。我正在尝试将垃圾箱按钮的颜色更改为红色。

var body: some View 
    NavigationView 
        Text("Hello, World!")
            .navigationTitle("Today")
            .toolbar 
                ToolbarItemGroup(placement: .navigationBarTrailing) 
                    Button(action: 
                        print("Add button was tapped")
                    ) 
                        HStack 
                            Image(.add)
                        
                    
                    
                    Button(action: 
                        print("Trash button was tapped")
                    ) 
                        HStack 
                            Image(.trash)
                                .foregroundColor(.red)
                                .accentColor(.red)
                        
                    
                    .foregroundColor(.red)
                    .accentColor(.red)
                
            
    
    
    

我似乎无法将垃圾图像符号的颜色设置为红色。 Image(.trash) 没有错字,我用的是this extension 我写的!

谢谢:)

【问题讨论】:

这能回答你的问题吗? How can I set an image tint in SwiftUI? 很遗憾没有。似乎没有任何解决方案会影响 NavigationView 符号。 using an inline menu 是否适合您? 【参考方案1】:

您可以将.accentColor(.red) 添加到NavigationView。虽然它会改变所有ToolBar 项目的颜色。一个例子是

NavigationView 
 SomeViews

.accentColor(.red)

它成功了,如下所示

【讨论】:

【参考方案2】:

在 NavigationView 上工作的另一种方式。虽然它也会改变所有 ToolBar Items 的颜色。

struct ContentView: View 

   init() 
        UINavigationBar.appearance().tintColor = UIColor.magenta
   

   // your code follows

【讨论】:

以上是关于如何设置 NavigationView 符号按钮的颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有 NavigationView 的情况下处理 sencha 触摸应用程序中的后退按钮?

SwiftUI NavigationView 插入符号位置

NavigationView 获取/查找标题布局

如何使用UWP NavigationView后退按钮而不重新加载页面

如何设置 NavigationView 默认值?

如何在 NavigationView 底部绘制菜单?