SwiftUI - 将菜单添加到 navigationBarTrailing 的 ToolbarItem

mah*_*han 12 ios swift swiftui

我有一个在其导航栏的尾部NavigationVeiw有一个。ToolbarItem

.toolbar {
    ToolbarItem(placement: .navigationBarTrailing) {
        Button(action: {}, label: {
            Text("Button")
        })
    }
}
Run Code Online (Sandbox Code Playgroud)

navigationBarItems(leading:trailing:)已弃用。因此,我使用的是放置toolbar(content:)方式navigationBarTrailing- 苹果


我在按钮上使用了 contextMenu。

   .toolbar {
        ToolbarItem(placement: .navigationBarTrailing) {
            Button(action: {}, label: {
                Text("Button")
            })
            .contextMenu(menuItems: {
                Text("Menu Item 1")
                Text("Menu Item 2")
                Text("Menu Item 3")
            })
        }
    }
Run Code Online (Sandbox Code Playgroud)

它不敏感。你必须用力去展示它。我需要像 iOS 照片应用程序的“添加”按钮一样通过一次触摸来呈现它。只需轻轻一触即可呈现。

如何通过单击(而不是按下)来显示菜单?

lor*_*sum 14

.contextMenu是 3D Touch(按住),只需使用常规Menu

.toolbar {
     ToolbarItem(placement: .navigationBarTrailing) {
         Menu(content: {
             Text("Menu Item 1")
             Text("Menu Item 2")
              Text("Menu Item 3")
         }, label: {Text("button")})
      }
  }
Run Code Online (Sandbox Code Playgroud)