我在 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()),但这没有明显的效果。
在 macOS 11 上,可以使用“keyboardShortcut”视图修饰符定义键盘快捷键。
标准键盘快捷键“.cancelAction”(ESC 键)和“.defaultAction”(Enter 键)也对相关按钮应用特殊颜色。
Button("Cancel") { ... } .keyboardShortcut(.cancelAction)
Button("Open") { ... } .keyboardShortcut(.defaultAction)
Run Code Online (Sandbox Code Playgroud)