我有一个带有一个或多个按钮的对话框,并且希望能够以编程方式将最右边的按钮设置为默认按钮,这样当用户按下Enter或Return键时,它应该响应,就像用户单击它一样.
我正在使用[btn setKeyEquivalent:@"\r"],这使它工作正常但我希望按钮具有蓝色外观,这是没有发生的.我需要做什么?
我在 MACOS 上使用 SwiftUI
如果我这样做:
Button(action: { } ) {
Text("Press")
.padding()
.background(Color.blue)
}
Run Code Online (Sandbox Code Playgroud)
我明白了:
两个灰色区域是可点击按钮的末端。但我希望按钮是蓝色区域的形状。任何想法如何让整个蓝色区域都可以点击。
(我确实考虑过使用 .onTapGesture 但这不会使按钮动画化,因此您知道您已经点击了它。)
我在 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()),但这没有明显的效果。