📜  在 SwiftUI 中使 VStack 填充屏幕的宽度 - Swift (1)

📅  最后修改于: 2023-12-03 14:51:11.259000             🧑  作者: Mango

在 SwiftUI 中使 VStack 填充屏幕的宽度 - Swift

在 SwiftUI 中,可以使用 VStack 来纵向排列视图元素。然而,默认情况下,VStack 的宽度只会与其子视图的宽度一样。如果希望将 VStack 水平方向上填充满整个屏幕宽度,该怎么做呢?下面介绍两种实现的方法。

方法一:使用 Spacer

可以在 VStack 的底部添加一个 Spacer,以将其余空间填充满,从而使 VStack 填充整个屏幕的宽度。示例代码如下:

VStack {
    // 子视图放在此处
    
    Spacer()
}

其中,将 Spacer 添加到 VStack 的底部,以确保 VStack 填充整个屏幕的宽度。

方法二:使用 GeometryReader

另一种方法是使用 GeometryReader,该视图提供了存储布局信息的容器。可以在 GeometryReader 中包裹 VStack,然后在 VStack 中添加一个可变的宽度,以使其填充整个屏幕的宽度。示例代码如下:

GeometryReader { geometry in
    VStack {
        // 子视图放在此处
    }
    .frame(width: geometry.size.width)
}

其中,将 VStack 的宽度设置为 GeometryReader 的宽度,以使其填充整个屏幕的宽度。

总之,以上两种方法都可以使 VStack 填充整个屏幕的宽度。根据需要和喜好,可以选择其中一种来实现。