最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

macos - Style a plain dropdown menu in SwiftUI - Stack Overflow

programmeradmin2浏览0评论

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?

Share Improve this question asked Nov 17, 2024 at 5:09 ManngoManngo 16.6k13 gold badges104 silver badges148 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 1

As per the documentation (which may be somewhat innacurate since .buttonStyle(.borderless) does display a down arrow):

borderlessButton Deprecated

Use menuStyle(_:) with button and buttonStyle(_:) with borderless.

        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)
发布评论

评论列表(0)

  1. 暂无评论