这是著名的iOS第三方库,用于展示提示框。
工程URL:https://github.com/jdg/MBProgressHUD.git
我打算来学习一下它的源代码是怎么写的,也是突然有了兴致才打算看一下的。
它的工程写得还是比较简单的,就MBProgressHUD.h和MBProgressHUD.m两个文件。先来看看它的.h中的全局变量。
最先映入我眼帘的是几个枚举类型:
首先是MBProgressHUDMode——是指动画的视图的模式。
1、MBProgressHUDModeIndeterminate:旋转的菊花。
2、MBProgressHUDModeDeterminate:饼状图的进度条。
3、MBProgressHUDModeDeterminateHorizontalBar:横向的条形的进度条。
4、MBProgressHUDModeAnnularDeterminate:环形的进度条,英文注释写的是ring-shaped,我还以为是像铃铛一样的形状呢。
5、MBProgressHUDModeCustomView:用户自定义视图。
6、MBProgressHUDModeText:仅有文字提示的模式,这就相当于一个普通的提示。
其次是MBProgressHUDAnimation——是指整个提示框的动画模式
1、MBProgressHUDAnimationFade:由不透明逐渐变成透明。
2、MBProgressHUDAnimationZoom:从不透明到透明,从大变小。
3、MBProgressHUDAnimationZoomOut:单纯从大变小。
4、MBProgressHUDAnimationZoomIn:单纯从小变大。
接下来是MBProgressHUDBackgroundStyle——这指的是提示框的背景。
1、MBProgressHUDBackgroundStyleSolidColor:背景没有任何变化,原来啥样,出现以后还是啥样的。
2、MBProgressHUDBackgroundStyleBlur:背景带上一点模糊的光晕的效果,就好像它的出现使背景变暗淡的那种感觉。
一个block回调MBProgressHUDCompletionBlock,很显然这是在hud即将结束的时候被调用,可以用它来做一些收尾工作。
不够这个应该属于hud内部实现所需,并不是我需要的,所以姑且不去管它。