如何在SwiftUI中获取默认按钮颜色?

3

我想更改默认的菜单按钮样式。我希望使用默认的按钮颜色,而不是Color.gray

MenuButton("Actions") {
    Button(action: {
    }, label: { Text("Action 1") })
    Button(action: {
    }, label: { Text("Action 2") })
}
.menuButtonStyle(BorderlessButtonMenuButtonStyle())
.background(RoundedRectangle(cornerRadius: 5).foregroundColor(Color.gray))

我试图更改默认样式,它看起来像 enter image description here 到像按钮的样式 enter image description here

3
不确定你想得到什么,但可能类似于Color(NSColor.controlColor)或来自该区域的内容会对你有所帮助。 - Asperi
谢谢,你的解决方案很好。我添加了更多关于我的问题的信息。 - Victor Kushnerov
1个回答

1
我是这样使用它的:

        .foregroundColor(.accentColor)
        .background(Color(UIColor.systemBackground))

创建了这样的样式:
struct MainButtonStyle: PrimitiveButtonStyle {
    let minWidth: CGFloat
    let minHeight: CGFloat
    
    func makeBody(configuration: Self.Configuration) -> some View {
        Button(configuration)
            .frame(minWidth: minWidth, minHeight: minHeight)
            .font(.body)
            .foregroundColor(.accentColor)
            .background(Color(UIColor.systemBackground))
            .buttonStyle(BorderlessButtonStyle())
            .cornerRadius(5)
    }
}

使用案例:
    Button(action: { }, label: {
        Image(systemName: "map")
    })
    .buttonStyle(MainButtonStyle(minWidth: 30, minHeight: 30))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接