要求
- Xcode8.3+
- Swift3.2+
- iOS8.0+
介绍
HUD
- 是最常用的一个网络请求提示控件,有一些开源的很优秀如MBProgressHUD,但它是基于OC写的,且一直没有对应的Swift版本。
- 另外星数最多的一个HUD库为SwiftNotice,但它UI实现太“粗糙”,所以我就打造了自己的一套提示库Tipper。
- 使用
public extension TipperHUD{
// 样式
enum Style: Int {
case loading = 0, success = 1, warning = 2, failure = 3
}
}
// 调用
Tipper.hud(style: style, delay: delay, message: "xxx")
// 注意delay为停留的时间,.loading样式下是无效的,得手动removeAll()
Toast
- Toast是模仿安卓系统自带的Toast提示控件的,用法简单
- 用法
Tipper.toast(message: "xxx", delay: delay)
SnackBar
- SnackBar是位于顶部或底部的局部提示控件,具有不打断当前操作的有点,相比HUD和Dialog,用户体验更好,如QQ音乐里的断网提示等。
- 用法
public extension TipperSnackBar{
// 位置
enum Position: Int {
case top = 0, bottom = 1
}
// 样式
enum Style: Int {
case `default`, success, warning, failure
}
}
// Action为右侧可交互按钮,支持icon和title两种显示方式,如果有action,则delay失效,需要手动removeAll()
struct Action {
public typealias Handler = (() -> Void)
public var handler: Handler!
public var title: String?
public var image: UIImage?
public init(title: String, handler: @escaping Handler) {
self.title = title
self.handler = handler
}
public init(image: UIImage, handler: @escaping Handler) {
self.image = image
self.handler = handler
}
}
// 调用
Tipper.snackBar(position: position, style: style, message: "xxx", delay: delay, action: action)
Bubble
- Bubble这个控件暂时只是一个静态提示的控件,附着于某个UIView而显示,并且目前箭头只支持向下,未做布局适配,是公司项目中比较特别的一个控件,大家按需使用。
- 用法
Tipper.bubble(from: sender, message: "xxx")
Carthage
- 目前该控件库已上传到github上,支持Carthage编译
- 用法
1.在你的Cartfile中加入
github "BackWorld/Tipper" "master"
2.在终端执行
carthage update
3.将
Carthage/Build/iOS
目录下的Tipper.framework
拖到你的项目中
4.在使用的swift文件中
import Tipper
即可
Github
https://github.com/BackWorld/Tipper
iPhoneX适配
如果对你有帮助,别忘了点个赞和关注~