SwiftUI平均分佈元件寬度的方法

by Hsiangming Lo

使用SwiftUI排版時,為了排出不同的版型,會需要平均分佈寬度,以下來說明如何平均分配元件寬度。

使用 .frame(maxWidth: .infinity)

HStack中的元件,加上.frame(maxWidth: .infinity),就會將元件的寬佔滿父元件的剩餘空間。

如果每個元件都有加上.frame(maxWidth: .infinity),每個元件就都會平均分配寬度。

.frame(maxWidth: .infinity)

HStack(spacing: 0) {
    VStack {
        Text("🍏")
    }
    .frame(maxWidth: .infinity)
    .background(.yellow)

    VStack {
        Text("🍎")
    }
    .frame(maxWidth: .infinity)
    .background(.green)
}