SkeletonUI 旨在为骨架加载动画带来优雅的、声明式的语法。 摆脱加载屏幕或旋转指示器,开始使用骨架来表示最终内容形状。
Swift Package Manager 是一种用于自动化 Swift 代码分发的工具,并且集成到 swift
编译器中。 一旦你设置好你的 Swift 包,添加 SkeletonUI
作为依赖项就像把它添加到你的 Package.swift
文件的 dependencies
值中一样简单。
dependencies: [
.package(url: "https://github.com/CSolanaM/SkeletonUI.git", .branch("master"))
]
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。