SwiftUI keyboardShortcut не работает, если у Button есть buttonStyle
Мой код:
Button(action: {
AudioServicesPlaySystemSound(1026)
isActive.toggle()
}){
HStack{
Image(systemName: "trash")
Text("delete")
}
}
.foregroundColor(.red)
.font(.body)
.keyboardShortcut("b",modifiers: [])
на этом этапе keyboardShortcut работает, но когда я добавляю buttonStyle, keyboardShortcut не работает, код с buttonStyle:
Button(action: {
AudioServicesPlaySystemSound(1026)
isActive.toggle()
}){
HStack{
Image(systemName: "trash")
Text("delete")
}
}
.buttonStyle(PlainButtonStyle())
.foregroundColor(.red)
.font(.body)
.keyboardShortcut("b",modifiers: [])
2 ответа
у меня хорошо работает на macos 12.beta, xcode 13.beta, target ios 14.7 и MacCatalyst 12. Протестировано в приложении MacCatalyst для macOS 12. Какую систему вы используете?
import SwiftUI
@main
struct TestApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
struct ContentView: View {
var body: some View {
Button(action: {
print("---> button clicked")
}) {
HStack{
Image(systemName: "trash")
Text("delete")
}
}
.buttonStyle(PlainButtonStyle())
.foregroundColor(.red)
.font(.body)
.keyboardShortcut("b",modifiers: [])
}
}
У меня была такая же проблема, но если я использую
BorderlessButtonStyle()
вместо
PlainButtonStyle
, работает на меня.