网上查找了一些Swift关于HUD的文章,发现SwiftProgressHUD还不错,使用简单,功能也比较齐全,外观也还可以,所以简单探索了一下里面的一些基本功能。
-
导入SwiftProgressHUD
- 通过cocoapods导入到工程
pod 'SwiftProgressHUD'
- 在工程里导入头文件
import SwiftProgressHUD
- 通过cocoapods导入到工程
-
SwiftProgressHUD简单使用
- wait
默认不会自动clear:
SwiftProgressHUD.showWait()
showWait - success
默认不会自动clear:
SwiftProgressHUD.showSuccess("success")
手动设置1s后clear:
SwiftProgressHUD.showSuccess("success", autoClear: true, autoClearTime: Int(1))
showSuccess - fail
默认不会自动clear:
SwiftProgressHUD.showFail("fail")
手动设置1s后clear:
SwiftProgressHUD.showFail("fail", autoClear: true, autoClearTime: Int(1))
showFail - info
默认不会自动clear:
SwiftProgressHUD.showInfo("info")
手动设置1s后clear:
SwiftProgressHUD.showInfo("info", autoClear: true, autoClearTime: Int(1))
showInfo - text
只带文字,默认自动clear(大概3s,具体时间还没研究):
SwiftProgressHUD.showOnlyText("onlyText")
带图标的text,type为success、fail、info,加上图标就是上述的2.3.4,可设置自动clear:
SwiftProgressHUD.show("success", type: .success, autoClear: true)
带图标的text,可设置自动clear时间:
SwiftProgressHUD.show("fail", type: .fail, autoClear: true, autoClearTime: Int(1))
showOnlyText - onNavigation
默认自动clear(这种没有效果,一般都用下面写到的showNavigation
_2):
SwiftProgressHUD.showOnNavigation("navigation")
showNavigation_1
自定义内容的showNavigation,参数:text
:内容、autoClear
:是否自动clear、autoClearTime
:自动clear时间、textColor
:内容文本颜色、fontSize
:内容文本字体大小、backgroundColor
:背景颜色
SwiftProgressHUD.showOnNavigation("send success", autoClear: true, autoClearTime: Int(2), textColor: .green, fontSize: 20, backgroundColor: .lightGray)
showNavigation_2 - animationImages
这个可以写个类似于加载动画的效果,还没用过。哈哈哈
public class func showAnimationImages(_ imageNames: [UIImage], timeMilliseconds: Int, backgroundColor: UIColor = default, scale: Double = default) -> UIWindow?
- wait
-
其他一些小功能
- SwiftProgressHUD默认的背景颜色是白色,可以通过
hudBackgroundColor
自己设置背景颜色,比如
SwiftProgressHUD.hudBackgroundColor = UIColor.black.withAlphaComponent(0.2)
- 上述5和6
showOnlyText
和showOnNavigation
有默认的clear时间,1-4不会自动clear(至少我测试的时候没有自动clear),但是有个小功能就是双击屏幕就会clear掉(showOnlyText
双击也会立刻clear,但是showOnNavigation
双击不会立刻clear) - clear:
// 设置手动隐藏的数量 public static var hideHUDTaps: Int
//清除所有HUD SwiftProgressHUD.hideAllHUD() //测试时使用,1.5s后clear DispatchQueue.main.asyncAfter(deadline: .now() + 1.5) { SwiftProgressHUD.hideAllHUD() }
网友评论