Swift 如何使一个类有一个菜单?

Swift 如何使一个类有一个菜单?,swift,swiftui,Swift,Swiftui,我有一个按钮(V形)显示在搜索栏的侧面,如下所示: 这个按钮有很多自定义项,所以我决定给它自己的类,以减少代码污染并使代码整洁 这是班级的身体 var body: some View { Button(action: { onTap() }) { Image(systemName: "chevron.right.square").renderingMode(.original) .renderingMode(.tem

我有一个按钮(V形)显示在搜索栏的侧面,如下所示:

这个按钮有很多自定义项,所以我决定给它自己的类,以减少代码污染并使代码整洁

这是班级的身体

var body: some View {

    Button(action: {
      onTap()
    }) {
      Image(systemName: "chevron.right.square").renderingMode(.original)
        .renderingMode(.template)
        .foregroundColor(color)
    }
    .font(fontSymbol)
    Spacer().frame(width: 10)
  }
按钮中的
图像
只是我在尝试其他选项。我已经创建了一个没有按钮的图像

问题是:

  • 我将在主视图上创建这个类的一个实例
  • 我想在点击时显示一个菜单
  • 这就是我在主课堂上使用它的方式

    MenuButton()
    .contextMenu {
          Button(action: {
          }) {
            Text("option 1")
          }
    
          Button(action: {
          }) {
            Text("option 2")
          }
    
          Button(action: {
          }) {
            Text("option 3")
          }
    
        }
    
    这就是结果

    显示的框已在高度上展开


    我原以为只有在敲打V形后才会出现一个弹出框,并且弹出框会指向V形或类似的东西。

    拆下垫片,将按钮定位在应该的位置

    .font(fontSymbol)
    //Spacer().frame(width: 10)   // << this one
    
    .font(fontSymbol)
    //隔套().框架(宽度:10)//