Yoga-SwiftUI

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 许可证下可用。