一个方向上的SwiftUI自定义下拉列表

一个方向上的SwiftUI自定义下拉列表,swift,drop-down-menu,swiftui,Swift,Drop Down Menu,Swiftui,我正在尝试在SwiftUI中创建一个自定义下拉栏。它看起来像这样: VStack{ Text("Dropdown").onTapGesture{ self.expand.toggle() } if expand { Text("Dropdown Item 1") Text("Dropdown Item 2") } } .padding(10) .background(.gree

我正在尝试在SwiftUI中创建一个自定义下拉栏。它看起来像这样:

VStack{
   Text("Dropdown").onTapGesture{
      self.expand.toggle()
   }
   if expand {
      Text("Dropdown Item 1")
      Text("Dropdown Item 2")
   }
}
.padding(10)
.background(.green)
.cornerRadius(10)
.animation(.spring())
Expand是一个
@State var
变量


当前的问题是,单击文本(“下拉列表”)时,VStack会双向展开。有没有办法让VStack只向下扩展?

这可能取决于总体布局,但在提供的代码快照中,可以通过更改对齐指南来解决,如演示中所示

VStack{
文本(“下拉”).ontaps{
self.expand.toggle()
}
如果扩展{
文本(“下拉项1”)
文本(“下拉项2”)
}
}
.填充(10)
.背景(颜色.绿色)
.转弯半径(10)
.animation(.spring())
.alignmentGuide(垂直对齐.center){$0[.top]}//
VStack{
    Text("Dropdown").onTapGesture{
        self.expand.toggle()
    }
    if expand {
        Text("Dropdown Item 1")
        Text("Dropdown Item 2")
    }
}
.padding(10)
.background(Color.green)
.cornerRadius(10)
.animation(.spring())
.alignmentGuide(VerticalAlignment.center) { $0[.top] }    // << here !!