SwiftUI 提供了许多内置的堆栈布局,如 HStack、VStack 和 ZStack。这些堆栈布局具有一些内置的对齐和间距选项,但如果您需要更多的自定义,您可以通过下面的示例代码实现:
struct CustomStackLayout<Content: View>: View {
let alignment: HorizontalAlignment
let spacing: CGFloat
let content: () -> Content
init(alignment: HorizontalAlignment = .center, spacing: CGFloat = 0, @ViewBuilder content: @escaping () -> Content) {
self.alignment = alignment
self.spacing = spacing
self.content = content
}
var body: some View {
HStack(alignment: alignment, spacing: spacing) {
content()
}
}
}
// 在使用时,您可以这样传递对齐和间距选项:
CustomStackLayout(alignment: .leading, spacing: 10) {
Text("Hello")
Text("World")
}
在这个例子中,我们创建了一个名为 CustomStackLayout 的自定义布局,它接受一个水平对齐和间距选项。我们在 HStack 内部呈现了传递给该视图的内容,并将其绑定到对齐和间距选项的值。现在,您可以在项目中使用 CustomStackLayout 作为自定义布局,并传递对齐和间距选项来自定义您的堆栈布局。