SwiftUI 加载指示器视图
此组件使用 Swift Package Manager 构建,使用起来非常简单,无需命令行
File > Swift Packages > Add Package Dependency...
https://github.com/vinhnx/Laden
然后点击 Next
以让 Xcode 解析包。3. 对于 Rules,选择 Versions
,并选择 Up to Next Major
作为 0.1.0
,或者查看 Releases 标签以获取即将发布的版本。 4. 点击
Finish
以将包集成到你的 Xcode 目标中。 5. 尽情享用吧!
最简形式
import SwiftUI
import Laden
struct ContentView: View {
var body: some View {
Laden.CircleLoadingView()
}
}
要在当前视图顶部显示加载视图,你可以将 Laden 嵌入到 ZStack
中,并将其放在当前视图下方
ZStack {
Text("Some text") // your content view
Laden.CircleOutlineLoadingView()
}
或者直接使用 .overlay
属性
Text("Some text") // your content view
.overlay(Laden.BarLoadingView())
一个覆盖其子视图的视图,使其在两个轴上对齐。
要指示加载状态,请使用一个私有的加载布尔值 @State
并将其绑定到 Laden 的 isAnimating
初始化器,默认值为 true
(或默认动画)
import SwiftUI
import Laden
struct ContentView: View {
@State private var isLoading = true
var body: some View {
VStack {
Laden.CircleLoadingView(isAnimating: isLoading)
Button(isLoading ? "Stop loading" : "Start loading") {
self.isLoading.toggle()
}
}
}
}
要显示或隐藏加载视图,请使用一个私有的显示/隐藏布尔值 @State
,并在切换时使用 .hidden
属性修改加载状态
import SwiftUI
import Laden
struct ContentView: View {
@State private var shouldLoadingView = true
var laden: some View {
Laden.CircleLoadingView(
color: .white, size: CGSize(width: 30, height: 30), strokeLineWidth: 3
)
}
var body: some View {
VStack {
if shouldLoadingView {
laden.hidden()
} else {
laden
}
Button(shouldCircleView ? "Show" : "Hide") {
self.shouldLoadingView.toggle()
}
}
}
}
要自定义加载视图颜色,请使用 color
初始化器
Laden.CircleOutlineLoadingView(color: .red)
可用的自定义项
/// Loading view protocol that define default configurations.
public protocol LoadingAnimatable: View {
/// Whether this loading view is animating.
var isAnimating: Bool { get }
/// Default color for loading view.
var color: Color { get }
/// The default size for loading view.
var size: CGSize { get set }
/// Default stroke line width for loading bar.
var strokeLineWidth: CGFloat { get }
}
想法 💡
欢迎提出 issue 或在 Twitter 上联系我,讨论、获取新闻和公告以及其他项目。 🚀
希望你喜欢!:)