SwiftUI 中的隐式堆栈是通过容器视图(如VStack、HStack和ZStack)自动实现的。您可以在视图中嵌套这些容器视图,以使用隐式堆栈。
例如,以下代码创建一个包含两个文本视图的视图:
struct MyView: View {
var body: some View {
VStack {
Text("First Text")
Text("Second Text")
}
}
}
这里,VStack 布局视图会在垂直方向上依次摆放两个文本视图,称为隐式堆栈。
您也可以在隐式堆栈中使用条件语句、循环和其他 SwiftUI 视图。例如,以下代码使用条件语句添加了一个文本视图:
struct MyView: View {
var isOn: Bool = false
var body: some View {
VStack {
Text("First Text")
if isOn {
Text("Second Text")
}
Text("Third Text")
}
}
}
在这个例子中,第二个文本视图取决于布尔值 isOn 的值。如果 isOn 为 true,则添加第二个文本视图。否则,只有第一个和第三个文本视图。通过条件语句和隐式堆栈,视图会在运行时自动适应所包含的子视图数量。
隐式堆栈在 SwiftUI 中为复杂布局提供了一种简单且易于理解的方法。