【问题标题】:How to set the color of a NavigationView symbol button如何设置 NavigationView 符号按钮的颜色
【发布时间】: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 我写的!

谢谢:)

【问题讨论】:

标签: ios swift macos swiftui swiftui-navigationview


【解决方案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
    }
    

    【讨论】:

      猜你喜欢
      • 2020-01-14
      • 2013-08-30
      • 2019-10-25
      • 1970-01-01
      • 1970-01-01
      • 2019-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多