Skip to content
/ HUD Public

SwiftUI实现的弹窗HUD,支持Loading,Progress,Success,Fail,Toast,Popup,支持自定义View

License

Notifications You must be signed in to change notification settings

zjinhu/HUD

Repository files navigation

SPM Xcode 11.0+ iOS 13.0+ Swift 5.0+

HUD是基于SwiftUI开发的Loading弹窗工具,样式参考ProgressHUD 。

目前功能有 Loading,Progress,Success,Failed

![Simulator Screen Shot - iPhone 14 Pro - 2023-04-28 at 14.01.21](/Users/ios/Documents/GitHub/SwiftUI-HUD/Image/Simulator Screen Shot - iPhone 14 Pro - 2023-04-28 at 14.01.21.png) ![Simulator Screen Shot - iPhone 14 Pro - 2023-04-28 at 14.01.24](/Users/ios/Documents/GitHub/SwiftUI-HUD/Image/Simulator Screen Shot - iPhone 14 Pro - 2023-04-28 at 14.01.24.png) ![Simulator Screen Shot - iPhone 14 Pro - 2023-04-28 at 14.01.30](/Users/ios/Documents/GitHub/SwiftUI-HUD/Image/Simulator Screen Shot - iPhone 14 Pro - 2023-04-28 at 14.01.30.png)
![Simulator Screen Shot - iPhone 14 Pro - 2023-04-28 at 14.01.43](/Users/ios/Documents/GitHub/SwiftUI-HUD/Image/Simulator Screen Shot - iPhone 14 Pro - 2023-04-28 at 14.01.43.png) ![Simulator Screen Shot - iPhone 14 Pro - 2023-04-28 at 14.01.48](/Users/ios/Documents/GitHub/SwiftUI-HUD/Image/Simulator Screen Shot - iPhone 14 Pro - 2023-04-28 at 14.01.48.png)

功能

在适当位置添加可观察的管理器

@StateObject private var context = LoadingManager()

如果是页面传递请

ContentView()
            .environmentObject(context) 
//然后内部页面
@EnvironmentObject private var context: LoadingManager

在需要使用Loading的页面添加

.addLoading(context)

剩下的只需要在触发位置

                Button {
                    context.text = "Please wait..."
                    context.showLoading()
                } label: {
                    Text("Loading Short Text")
                }

或者根据状态控制

        .onChange(of: revenueCat.isPurchasing) { newValue in
            if newValue{
                loading.showLoading()
            }else{
                loading.dismiss()
            }
        }

关闭HUD

context.dismiss()

内置的其他HUD

context.showLoading()
context.showProgress()
context.showSuccess()
context.showFailed()

安装

cocoapods

1.在 Podfile 中添加 pod ‘SwiftUIHUD’

2.执行 pod install 或 pod update

3.导入 import SwiftUIHUD

Swift Package Manager

从 Xcode 11 开始,集成了 Swift Package Manager,使用起来非常方便。HUD 也支持通过 Swift Package Manager 集成。

在 Xcode 的菜单栏中选择 File > Swift Packages > Add Pacakage Dependency,然后在搜索栏输入

https://github.com/jackiehu/HUD,即可完成集成

手动集成

HUD 也支持手动集成,只需把Sources文件夹中的HUD文件夹拖进需要集成的项目即可

具体使用代码api以及详细效果参见Demo

更多砖块工具加速APP开发

ReadMe Card

ReadMe Card

ReadMe Card

ReadMe Card

ReadMe Card

ReadMe Card

ReadMe Card

ReadMe Card

ReadMe Card

ReadMe Card

ReadMe Card

ReadMe Card

About

SwiftUI实现的弹窗HUD,支持Loading,Progress,Success,Fail,Toast,Popup,支持自定义View

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages