在 iOS 开发中说到指示器用的最多的便是 MBP 和 SVP 了,针对于这两个第三方我个人还是比较偏向后者。比较 MBP 而言 SVP的作者封装的更加完美一些,接口的设计和使用也更为简单,但是在使用时还是有些场景无法满足,这篇文章我只是想谈谈对于把自定义的 GIF 图片与 SVProgressHUD 结合使用的个人想法。首先我们先看看下面的一段代码:
- (void)viewDidLoad {
[super viewDidLoad];
// 我们通过 SVProgressHUD 提供的类方法 + (void)show; 可以实现最简单的加载指示效果
[SVProgressHUD show];
}
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
// 移除指示器
[SVProgressHUD dismiss];
}
效果图如下 :
那这个不断旋转的圆圈效果是 SVProgressHUD 自带的Gif图片吗?通过多 SVP 中的资源包的查看得知,这个会动的圆圈并不是Gif图片,而是画出来的。但是 SVP 是否给我们提供可以传入 UIImage 对象的方法或是属性接口呢?我们再来看看下面的代码和效果:
方案一:通过方法实现
- (void)viewDidLoad {
[super viewDidLoad];
// 我们让程序已启动 就显示指示器
// 设置显示最小时间 以便观察效果
[SVProgressHUD setMinimumDismissTimeInterval:MAXFLOAT];
// 果然 我们发现了一个可以传入图片和文字的方法
[SVProgressHUD showImage:[UIImage imageNamed:@"tes