Latest 1.1
Homepage https://github.com/kk07self/kk_toast
License MIT
Platforms ios 9.0, requires ARC
Authors

Feature

  • 持续悬停加载,支持上中下位置
  • 短时间状态弹框,支持上中下位置,支持自定义时长,支持自定义图标
  • 携带了定时器功能,线程安全,无死循环

Requirements

  • iOS 9.0+
  • Swift4.2+

Using

  • 集成
pod 'kk_toast'

// 命令
pod install
  • 导入
import kk_toast
  • 使用

toast

// toast
// 统一api,参数不同,效果不同
public func makeToast(_ style: ToastStyle = .activity, message: String? = nil, image: UIImage? = nil, duration: Double? = nil, alignment: ToastAlignment = .center)

// style: 弹框样式
// .loading和.activity是长时间悬停状态,其他是短时间悬停需要指定时长

// message: 弹框的文本信息

// image: 短时间悬停时可配置的图标,如果为nil使用默认的

// duration: 短时间悬停时配置的时长,style为.loading和.activity时无效

// alignment: 悬停的位置,目前只支持三种,上中下

// 长时间弹框,有两种样式,一种是菊花一种是圆圈
// 圆圈
view.makeToast(.loading, message: "数据获取中...")
// 菊花样式
view.makeToast(.activity, message: "数据获取中...")
// 可支持上中下的位置
view.makeToast(.loading, message: "数据机制中...", alignment: .center)

// 长时间悬停需要手动调用萧山
view.hideToast()

// 指定时间弹框,然后消失
// 成功的状态,3秒后消失,在中间弹框
view.makeToast(.success, message: "加载成功", image: nil, duration: 3, alignment: .center)

Timer

// 需要遵守定时器协议,并且内部实现一个属性,默认需要绑定实现一个属性
class ViewController: UIViewController, KTimer{
    var timerName: String?
    ...
}

// 在指定的位置创建定时器:KTimer协议方法
timerName = execTask(start: 0, interval: DispatchTimeInterval.seconds(3), repeats: true, async: true, task: {
    print("1111111111")
})

// 如果不重复,那么interval后会自定取消
// 如果重复的,那么需要手动取消定时器,KTimer协议方法
cancelTask()

注意,这里默认只提供了一个定时器名称,如果想在一个类下面添加多个定时器,可自行定义定时器名称,定时器创建的api只有一个,是一样的,不一样的是取消定时器任务,需要传入对应定时器名称

cancelTask(timerName_self)

以上。

Latest podspec

{
    "name": "kk_toast",
    "version": "1.1",
    "summary": "a component of toast on iOS",
    "homepage": "https://github.com/kk07self/kk_toast",
    "description": "It is a component for ios toast, written by Swift.",
    "license": "MIT",
    "authors": {
        "Kirk": "[email protected]"
    },
    "platforms": {
        "ios": "9.0"
    },
    "source": {
        "git": "https://github.com/kk07self/kk_toast.git",
        "tag": "1.0"
    },
    "source_files": "toast/toast/*",
    "resource_bundles": {
        "toast": [
            "toast/toast/resource/*.png"
        ]
    },
    "requires_arc": true
}

Pin It on Pinterest

Share This