MBProgressHUD和SDWebImage都是IOS开发常用的第三方库,多么方便,在这里我就不说了!这里介绍的的SDWebImage和MBProgressHUD简单的混合使用的加载动画!
1.手动或者cocoposd自动导入这两个库,然后导入头文件!注意:SDWebImage的版本千万不要搞错,要不然会没有加载Gif的方法!
2.新建一个类别,基于MBProgressHUD,在这里我把它命名为MBProgressHUD+NH。
3.在MBProgressHUD+NH.h文件中声明一个方法!
//加载动图
+ (void)showGifToView:(UIView *)view;
/**
* 快速从window中隐藏ProgressView
*/
+ (void)hideHUD;
4.在MBProgressHUD+NH.m方法中实现 千万不要忘记在.m文件中导入#import "UIImage+GIF.h"
要不然[UIImage sd_animatedGIFNamed:@"timg"];方法没办法用!
1.显示加载动画的方法!
+ (void)showGifToView:(UIView *)view{
//这里最好加个判断,让这个加载动画添加到window上,调用的时候,这个view传个nil就行了!
if (view == nil) view = (UIView*)[UIApplication sharedApplication].delegate.window;
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:view animated:YES];
//使用SDWebImage 放入gif 图片--(因为项目中使用的都是同一个加载动画,所以在这里我把图片写死了)
UIImage *image = [UIImage sd_animatedGIFNamed:@"timg"];
//自定义imageView
UIImageView *cusImageV = [[UIImageView alloc] initWithImage:image];
//设置hud模式
hud.mode = MBProgressHUDModeCustomView;
//设置在hud影藏时将其从SuperView上移除,自定义情况下默认为NO
hud.removeFromSuperViewOnHide = YES;
//设置提示性文字
// hud.label.text = @"正在加载中";
// // 设置文字大小
// hud.label.font = [UIFont systemFontOfSize:20];
// //设置文字的背景颜色
// // hud.label.backgroundColor = [UIColor redColor];
//
//设置方框view为该模式后修改颜色才有效果
hud.bezelView.style = MBProgressHUDBackgroundStyleSolidColor;
//设置方框view背景色
hud.bezelView.backgroundColor = [UIColor clearColor];
//设置总背景view的背景色,并带有透明效果
// hud.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.3];
hud.customView = cusImageV;
}
//隐藏加载动画的方法
+ (void)hideHUDForView:(UIView *)view{
if (view == nil) view = (UIView*)[UIApplication sharedApplication].delegate.window;
[self hideHUDForView:view animated:YES];
}
+ (void)hideHUD
{
[self hideHUDForView:nil];
}
5.好!接下来就是最重要的时刻了!
如果是在项目中,可以直接把这个MBProgressHUD+NH.h直接导入到pch文件或者头文件里面!
调用代码如下:
[MBProgressHUD showGifToView:nil];
隐藏方法如下:
[MBProgressHUD hideHUD];
好了,到这里,MBProgressHUD和SDWebImage的简单混合使用建完成了!需要更多更得小伙伴,可以自己添加哦!