SkeletonUI 旨在为骨架加载动画带来优雅的、声明式的语法。 摆脱加载屏幕或旋转指示器,开始使用骨架来表示最终内容形状。

要求 ⚙️

支持的平台 📱

安装 💻

Swift Package Manager

Swift Package Manager 是一种用于自动化 Swift 代码分发的工具,并且集成到 swift 编译器中。 一旦你设置好你的 Swift 包,添加 SkeletonUI 作为依赖项就像把它添加到你的 Package.swift 文件的 dependencies 值中一样简单。

  dependencies: [
  .package(url: "https://github.com/CSolanaM/SkeletonUI.git", .branch("master"))
  ]

CocoaPods

CocoaPods 是 Cocoa 项目的集中式依赖管理器。 有关使用和安装说明,请访问他们的网站。 要使用 CocoaPods 将 SkeletonUI 集成到你的 Xcode 项目中,请在你的 Podfile 中指定它。

pod 'SkeletonUI'

特性 ✨

使用方法 🚀

基本的一行代码

import SkeletonUI
import SwiftUI

struct UsersView: View {
    @State var users = [String]()

    var body: some View {
        Text("Finished requesting \(users.count) users!")
            .skeleton(with: users.isEmpty)
            .onAppear {
                DispatchQueue.main.asyncAfter(deadline: .now() + 5) {
                    self.users = ["John Doe", "Jane Doe", "James Doe", "Judy Doe"]
                }
        }
    }
}

高级定制

import SkeletonUI
import SwiftUI

struct User: Identifiable {
    let id = UUID()
    let name: String
}

struct UsersView: View {
    @State var users = [User]()

    var body: some View {
        SkeletonList(with: users, quantity: 6) { loading, user in
            Text(user?.name)
                .skeleton(with: loading,
                          animation: .pulse(),
                          appearance: .solid(color: .red, background: .blue),
                          shape: .rectangle,
                          lines: 3,
                          scales: [1: 0.5])
        }
        .onAppear {
            DispatchQueue.main.asyncAfter(deadline: .now() + 5) {
                self.users = [User(name: "John Doe"),
                              User(name: "Jane Doe"),
                              User(name: "James Doe"),
                              User(name: "Judy Doe")]
            }
        }
    }
}

更新日志 📆

有关详细信息,请参阅 CHANGELOG.md

贡献 🎉

有关详细信息,请参阅 CONTRIBUTING.md

行为准则 💬

有关详细信息,请参阅 CODE_OF_CONDUCT.md

鸣谢 🙊

SkeletonUI 由 CSolanaM 拥有和维护。 你可以在 Twitter 上关注我:@CSolanaM,或者通过 email 联系我,获取项目更新和发布信息。

许可证 🎓

SkeletonUI 在 MIT 许可证下发布。 有关详细信息,请参阅 LICENSE