SwiftUI - VStack, HStack 和 ZStack差异

原文:https://iosdevcenters.blogspot.com/2019/09/swiftui-whats-different-between-vstack.html

Stack等效于UIKit中的UIStackView。堆栈用于将元素水平,垂直和深度排列。

VStack :
垂直排列元素,如果VStack中有两个元素,则垂直排列。

VStack {
    RoundedRectangle(cornerRadius: 10)
        .fill(Color.yellow)
        .frame(width: 80, height: 80)

    RoundedRectangle(cornerRadius: 10)
        .fill(Color.red)
        .frame(width: 80, height: 80)
}
SwiftUI - VStack, HStack 和 ZStack差异_第1张图片
image.png

HStack :
将元素水平排列,如果HStack中有两个元素,则将其水平排列。

HStack {
    RoundedRectangle(cornerRadius: 10)
        .fill(Color.yellow)
        .frame(width: 80, height: 80)

    RoundedRectangle(cornerRadius: 10)
        .fill(Color.red)
        .frame(width: 80, height: 80)
}
SwiftUI - VStack, HStack 和 ZStack差异_第2张图片
image.png

ZStack :
排列Z索引中的元素,如果ZStack中有两个元素,则第一个元素在第二个元素下方。

ZStack {
    RoundedRectangle(cornerRadius: 10)
        .fill(Color.yellow)
        .frame(width: 200, height: 200)

    RoundedRectangle(cornerRadius: 10)
        .fill(Color.red)
        .frame(width: 80, height: 80)
}
SwiftUI - VStack, HStack 和 ZStack差异_第3张图片
image.png

你可能感兴趣的:(SwiftUI - VStack, HStack 和 ZStack差异)