SwiftProgressHUD 的使用方法

Github、cocoachina、cocoa4app等寻找了很多swift版本的HUD,都不太满意。综合对比,并没有找到好用合适的HUD开源库。于是乎 SwiftProgressHUD 是目前比较好用美观、多功能的HUD。用法如下:

要求

  • swift 3.0+
  • iOS 8.0+
  • ARC

添加 SwiftProgressHUD 到你的工程

一、CocoaPods

1.将 SwiftProgressHUD 添加到你的 Podfile

  pod 'SwiftProgressHUD'

2.安装或者更新

  pod install 
// 或者
  pod update

3.在你需要使用 SwiftProgressHUD 的地方import

  import SwiftProgressHUD

二、Carthage

1.将 SwiftProgressHUD 添加到你的 Cartfile

  github "YJManager/SwiftProgressHUD"

2.编译安装

  carthage update

3.配置

1.点击工程 -> 2.Target -> 3.Linked Frameworks and Libaries ->
 4.点击+号 ->Add Other... -> 5.找到Framework选中点击open -> 
6. build phases -> 7.New Run Script Phase -> 8.将 /usr/local/bin/carthage copy-frameworks 拷贝到Script ->
9. Input Files —> $(SRCROOT)/Carthage/Build/iOS/[你的框架名称]

使用举例

在需要等待的时候, 可以使用 showWait, 代码及效果如下:


/// 设置蒙版背景颜色, 默认是clear
//            SwiftProgressHUD.hudBackgroundColor = UIColor.black.withAlphaComponent(0.2)

/// 开始loading...
SwiftProgressHUD.showWait()

/// 模拟 1s后 加载完成
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {SwiftProgressHUD.hideAllHUD()}

加载成功时, 提示可以使用 showSuccess, 代码及效果如下:

SwiftProgressHUD.showSuccess("加载成功")

/// 模拟 1s后 加载完成
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {SwiftProgressHUD.hideAllHUD()}

加载失败时, 提示可以使用 showFail, 代码及效果如下:

SwiftProgressHUD.showFail("加载失败")

/// 模拟 1s后 加载完成
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {SwiftProgressHUD.hideAllHUD()}

友情提示信息, 可以使用 showInfo, 代码及效果如下:

SwiftProgressHUD.showInfo("请稍后")

/// 模拟 1s后 加载完成
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {SwiftProgressHUD.hideAllHUD()}

错误Toast提示信息, 可以使用 showOnlyText, 代码及效果如下:

SwiftProgressHUD.showOnlyText("请输入合法的手机号")

/// 模拟 1s后 加载完成
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {SwiftProgressHUD.hideAllHUD()}

状态栏提示信息, 可以使用 showOnStatusBar, 代码及效果如下:

SwiftProgressHUD.showOnStatusBar("你有一条新消息", autoClear: true, autoClearTime: 1, textColor: UIColor.orange, backgroundColor: UIColor.lightGray)

/// 模拟 1s后 加载完成
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {SwiftProgressHUD.hideAllHUD()}

加载动画提示, 可以使用 showAnimationImages, 代码及效果如下:

let animationDuration = 70 // 动画时间 单位毫秒Int
var loadingImages = [UIImage]()
for index in 0...16 {
    let loadImageName = String(format: "new_brand_progress%02d", index)
if let loadImage = UIImage(named: loadImageName){
    loadingImages.append(loadImage)
    }
}
SwiftProgressHUD.showAnimationImages(loadingImages, timeMilliseconds: animationDuration, backgroundColor: backgroundColor, scale: scale)

/// 模拟 1s后 加载完成
DispatchQueue.main.asyncAfter(deadline: .now() + 4) {SwiftProgressHUD.hideAllHUD()}

详细的用法请参考 SwiftProgressHUDDemo

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,283评论 4 61
  • 欣 中国 飞改革 汹涌澎湃 黄河携长...
    万里千年阅读 534评论 54 75
  • 妹子们,咱不管长相是否中上、身高是否超过170、体重是否过百、腿长有没有超过105cm、胸部有没有D+、化妆还是素...
    阳光女孩_83b7阅读 1,591评论 0 4
  • 窗外的色彩,从五光十色渐渐变暗直至变黑。夜幕使肉身避开大千世界物质的反光,让心性在幽暗中游荡一下。M的生活简单而熟...
    lolo007阅读 198评论 0 0
  • 昨晚拿回家的幼儿园课本,我家陈小冠已经开始读了。真正意义的指读认字!幼儿园当天肯定是学习了的,我又引导孩子读了3次...
    木木sani阅读 191评论 0 0