返回 导航

Swift

hangge.com

Swift - 第三方透明指示器SwiftNotice使用详解

作者:hangge | 2018-04-26 08:10
前面介绍的 MBProgressHUD 是使用 Objective-C 编写的,接下来我再介绍另一个 Swift 版本的 HUD 库:SwiftNotice

一、SwiftNotice

1,基本介绍

(1)SwiftNotice 是一个使用纯 Swift 写的 HUD 库,该库提供多种类型的弹出窗口。
(2)同时 SwiftNotice 可完美适配各种滚动视图(scrollview),并且支持 iPhone X

2,安装配置

(1)从 GitHub 上下载最新的代码:https://github.com/johnlui/SwiftNotice
(2)将下载下来的源码包中的 SwiftNotice.swift 文件添加到项目中来即可。

二、基本用法

1,最简单的“菊花”等待提示

下面样例我们在页面打开时自动显示一个等待提示框。要注意的是等待提示框不会自动消失,需要我们手动将其隐藏。

(1)我们可以直接调用 SwiftNotice 提供的类方法。
import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
    }
    
    override func viewDidAppear(_ animated: Bool) {
        //显示等待提示框
        SwiftNotice.wait()
    }
}

(2)由于 SwiftNotice 还对 UIResponder 进行了扩展,我们直接使用扩展方法也是可以的。
import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
    }
    
    override func viewDidAppear(_ animated: Bool) {
        //显示等待提示框
        self.pleaseWait()
    }
}

2,纯文字提示


(1)同样有两种方法显示该提示:
//方法1
SwiftNotice.showText("请稍等")

//方法2
self.noticeOnlyText("请稍等")

(2)默认情况下,文字提示显示 2 秒后会自动隐藏。我们可以通过参数修改显示时间,或者是否自动隐藏。
//显示后不自动隐藏
SwiftNotice.showText("请稍等", autoClear: false)
        
//显示后过个1秒钟自动隐藏
SwiftNotice.showText("请稍等", autoClearTime: 1)

3,成功提示

//方法1
SwiftNotice.showNoticeWithText(.success, text: "操作成功", autoClear: true, autoClearTime: 2)
        
//方法2
self.noticeSuccess("操作成功", autoClear: true, autoClearTime: 2)

4,失败提示

//方法1
SwiftNotice.showNoticeWithText(.error, text: "操作失败", autoClear: true, autoClearTime: 2)
        
//方法2
self.noticeError("操作失败", autoClear: true, autoClearTime: 2)

5,普通消息提示

//方法1
SwiftNotice.showNoticeWithText(.info, text: "普通消息", autoClear: true, autoClearTime: 2)
        
//方法2
self.noticeInfo("普通消息", autoClear: true, autoClearTime: 2)

6,关闭提示框

下面的两种方法都可以关闭所有弹出的提示框。
//方法1
SwiftNotice.clear()
        
//方法2
self.clearAllNotice()

三、高级功能

1,顶部状态栏消息

//方法1
SwiftNotice.noticeOnStatusBar("这是一条通知消息", autoClear: true, autoClearTime: 2)
        
//方法2
self.noticeTop("这是一条通知消息", autoClear: true, autoClearTime: 2)

2,播放图片动画

(1)假设我们有如下几张图片。

(2)想让提示框能够按一定的顺序、以及时间间隔进行切换显示,从而形成连续的动画。并且该动画可以循环播放。
         

(3)这个功能同样有两种方式实现:
//准备好图片数组
var images = [UIImage]()
for i in 1..<74 {
    images.append(UIImage(named: "frame_apngframe\(i)")!)
}

//方法1
SwiftNotice.wait(images, timeInterval: 50) //每隔50毫秒切换一张图片
        
//方法2
self.pleaseWaitWithImages(images, timeInterval: 50) //每隔50毫秒切换一张图片
评论

全部评论(2)

回到顶部