【问题标题】:SwiftUI - Add Menu to navigationBarTrailing's ToolbarItemSwiftUI - 将菜单添加到 navigationBarTrailing 的 ToolbarItem
【发布时间】:2020-12-13 02:35:30
【问题描述】:

我有一个NavigationVeiw,它的导航栏尾部有一个ToolbarItem

.toolbar {
    ToolbarItem(placement: .navigationBarTrailing) {
        Button(action: {}, label: {
            Text("Button")
        })
    }
}

navigationBarItems(leading:trailing:)已弃用。因此,我将toolbar(content:)navigationBarTrailing 放置一起使用。 - Apple


我在 Button 上使用了 contextMenu。

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

它不敏感。你必须努力展示它。我需要像 iOS Photo App 的 Add 按钮一样简单地呈现它。只需轻轻一按即可呈现。

如何通过单触(非按下)显示菜单?

【问题讨论】:

    标签: ios swift swiftui


    【解决方案1】:

    .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")})
          }
      }
    

    【讨论】:

    • 但是带有Image(systemName: "plus")标签的按钮很难点击!如何解决这个问题?
    • 您必须通过.frame( maxWidth: .infinity, maxHeight: .infinity).contentShape(Rectangle()) 将其放在Image 上的这些方法之一来拉伸可点击区域
    • 我试过了但是不行 :( 我什至试过用.padding() 但问题是它明显向左移动而且看起来不太好
    • 好的,我在这里开始一个新问题stackoverflow.com/questions/68613132/…
    猜你喜欢
    • 1970-01-01
    • 2022-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多