SwiftUI Spacer 如何固定尺寸

SwiftUI 中如何创建一个固定尺寸的 Spacer 元素,按指定大小撑开 VStack/HStack 容器

SwiftUI 中的 SpacerVStack/HStack 等容器组件内,是按照剩余空间自适应的。

当我们的容器里只有一个元素,默认会按照居中方式展示:

无 Spacer 时候元素在容器居中展示示例
VStack{
    Text("Hello CocoaZ!")
}

如果我们希望这段文字置底,那么可以在其上方增加一个 Spacer 吃掉上面的空余空间:

无 Spacer 时候元素在容器居中展示示例
VStack{
    Text("Hello CocoaZ!")
}

如果我们想要精确控制文字距离底部 30 高度呢?需要使用到 frame() 修饰符,指定其宽或者高即可,在以下示例中我们在底部填入一个 Spacer 令其固定占据一定高度,即可实现。

无 Spacer 时候元素在容器居中展示示例
VStack{
    Spacer()
    Text("Hello CocoaZ!")
    Spacer()
        .frame(height: 30)
}