我有一个背景比设备宽度更宽的ZStack,但是我想把一个VStack放在屏幕边界内的ZStack上面。这个代码的问题是VStack和ZStack中的其他元素一样宽。
有什么办法解决吗?
ZStack {
Group {
VStack {
Image("EmptyPhoto")
.resizable()
.aspectRatio(contentMode: .fill)
.edgesIgnoringSafeArea(.vertical)
.frame(height: 600)
Spacer()
}
Color.black.opacity(0.5)
.edgesIgnoringSafeArea(.vertical)
VStack {
Color.black.opacity(0.0)
Spacer()
.frame(height: 0)
LinearGradient(gradient: Gradient(colors: [Color.black.opacity(0.0), Color.black, Color.black]), startPoint: .top, endPoint: .bottom)
}
.edgesIgnoringSafeArea(.vertical)
} // Background
VStack {
Picker(selection: $filterPicker, label: EmptyView()) {
Text("Friends").tag(1)
Text("World").tag(2)
}
.pickerStyle(.segmented)
HStack {
Text("@gallapagos")
.foregroundColor(Color.white)
Spacer()
}
Spacer()
}
.padding()
}
2条答案
按热度按时间ryevplcw1#
使用以下方法修复:
已将其放置在
// Background
下方zpf6vheq2#
我只会说: