Yoga-SwiftUI 是一个强大的 SwiftUI 布局库,它将 Facebook 的 Yoga flexbox 实现引入 SwiftUI。它提供了一个简单的 API,可以在您的 SwiftUI 应用程序中应用基于 flexbox 的布局。
您可以轻松创建一个 Flex 容器并将子视图添加到其中。
Flex(direction: .row, justifyContent: .center, alignItems: .center) {
Text("Hello")
Text("World")
}
在上面的示例中,我们创建了一个 Flex 容器,其方向为行方向,并且两个轴都居中对齐。在其中,我们添加了两个 Text 视图。
Flex 可以轻松地相互嵌套以创建复杂的布局
Flex {
Flex(direction: .row) {
Text("Row 1 Item 1")
Text("Row 1 Item 2")
}
Flex(direction: .row) {
Text("Row 2 Item 1")
Text("Row 2 Item 2")
}
}
在上面的示例中,我们嵌套了两个 Flex 容器,每个容器都具有行方向,并嵌套在另一个 Flex 容器内。
该库还提供了一组修饰符,用于自定义 SwiftUI 视图的布局
Text("Hello World")
.flexGrow(1)
.flexShrink(0)
.justifyContent(.center)
.alignItems(.flexStart)
.alignSelf(.flexEnd)
.flexDirection(.row)
.flexWrap(.wrap)
在上面的示例中,我们使用库提供的修饰符来自定义 Text 视图的布局。
Yoga-SwiftUI 以 Swift Package Manager 包的形式提供。您可以从 Xcode “File” 菜单中的 “Swift Packages” 选项将其添加到您的项目中。
.package(url: "https://github.com/tiepvuvan/Yoga-SwiftUI.git", from: "1.0.0")
欢迎为 Yoga-SwiftUI 做出贡献。如果您遇到任何问题或有任何建议,请打开一个 issue 或发送 pull request。
Yoga-SwiftUI 是开源软件,在 MIT 许可证下可用。