I’m trying to create a simple dropdown button in SwiftUI on macOS. Normally I would expect to use something like this:
MenuButton("☰") {
Button(action: { print("Something") }) {
HStack {
Image(systemName: "questionmark.circle")
Text("Something")
}
}
Button(action: { print("Something Else") }) {
HStack {
Image(systemName: "exclamationmark.circle")
Text("Something Else")
}
}
}
.menuButtonStyle(BorderlessButtonMenuButtonStyle())
The .menuButtonStyle(BorderlessButtonMenuButtonStyle())
shows only the menu icon (☰)
without the drop down
However, MenuButton
has been deprecated in favour of Menu
, which is fine, but I then need to modify it with .menuStyle
, and can’t find the equivalent of BorderlessButtonMenuButtonStyle
What would be the equivalent for Menu
to suppress the drop down arrow?
I’m trying to create a simple dropdown button in SwiftUI on macOS. Normally I would expect to use something like this:
MenuButton("☰") {
Button(action: { print("Something") }) {
HStack {
Image(systemName: "questionmark.circle")
Text("Something")
}
}
Button(action: { print("Something Else") }) {
HStack {
Image(systemName: "exclamationmark.circle")
Text("Something Else")
}
}
}
.menuButtonStyle(BorderlessButtonMenuButtonStyle())
The .menuButtonStyle(BorderlessButtonMenuButtonStyle())
shows only the menu icon (☰)
without the drop down
However, MenuButton
has been deprecated in favour of Menu
, which is fine, but I then need to modify it with .menuStyle
, and can’t find the equivalent of BorderlessButtonMenuButtonStyle
What would be the equivalent for Menu
to suppress the drop down arrow?
1 Answer
Reset to default 1As per the documentation (which may be somewhat innacurate since .buttonStyle(.borderless)
does display a down arrow):
borderlessButton Deprecated
Use
menuStyle(_:)
withbutton
andbuttonStyle(_:)
withborderless
.
Menu("☰") {
Button(action: { print("Something") }) {
HStack {
Image(systemName: "questionmark.circle")
Text("Something")
}
}
Button(action: { print("Something Else") }) {
HStack {
Image(systemName: "exclamationmark.circle")
Text("Something Else")
}
}
}
.menuStyle(.button)
.buttonStyle(.plain)