如何在 macOS SwfitUI 中创建默认按钮?

Ric*_*ick 0 macos swiftui

我在 SwiftUI 中构建了以下模态对话框:

在此处输入图片说明

但我不知道如何使“打开”按钮成为默认按钮(即在标准 macOS HIG 中填充为蓝色)。它的代码如下所示:

struct
OpenLocationView : View
{
    @State private var location: String = ""

    var body: some View
    {
        VStack
        {
            HStack
            {
                Text("Location:")
                TextField("https://", text: $location) { self.openLocation() }
            }

            HStack
            {
                Spacer()
                Button("Cancel") { /* dismiss window */ }
                Button("Open") { self.openLocation() }
            }
        }
        .padding()
        .frame(minWidth: 500.0)
    }

    func
    openLocation()
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试 append .buttonStyle(DefaultButtonStyle()),但这没有明显的效果。

Abd*_*ANI 7

在 macOS 11 上,可以使用“keyboardShortcut”视图修饰符定义键盘快捷键。

标准键盘快捷键“.cancelAction”(ESC 键)和“.defaultAction”(Enter 键)也对相关按钮应用特殊颜色。

Button("Cancel") { ... } .keyboardShortcut(.cancelAction)
Button("Open") { ... } .keyboardShortcut(.defaultAction)
Run Code Online (Sandbox Code Playgroud)