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

时间:2021-07-08 17:45:34

标签: ios swift macos swiftui swiftui-navigationview

我目前有一个带有嵌入式 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

谢谢:)

2 个答案:

答案 0 :(得分:2)

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

NavigationView {
 SomeViews
}
.accentColor(.red)

它成功了,如下所示 enter image description here

答案 1 :(得分:0)

另一种处理 NavigationView 的方法。虽然它也会改变所有 ToolBar Items 的颜色。

struct ContentView: View {

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

   // your code follows
}
相关问题