XNProgressHUD
一个丝滑、灵活的 HUD
一款支持各种自定义的轻量级 HUD,支持垂直、水平两种样式。XNProgressHUD 非常灵活,所见的部分都可以根据自己的要求进行自定义,包括自定义动画效果或图片,只需要实现相关协议方法。
安装使用
pod 'XNProgressHUD'
使用说明
// 设置显示位置
[XNHUD setPosition:CGPointMake(self.view.bounds.size.width/2, self.view.bounds.size.height * 0.7)];
// 设置主色调
[XNHUD setTintColor:[UIColor colorWithRed:38/255.0 green:50/255.0 blue:56/255.0 alpha:0.8]];
// 设置相应的maskType状态下的颜色(16进制颜色值)
[XNHUD setMaskType:(XNProgressHUDMaskTypeBlack) hexColor:0x00000044];
[XNHUD setMaskType:(XNProgressHUDMaskTypeCustom) hexColor:0xff000044];
在 UIWindow 上显示:
[XNHUD showLoadingWithTitle:@"正在登录"];
[XNHUD showWithTitle:@"这是一个支持自定义的轻量级HUD"];
[XNHUD showInfoWithTitle:@"邮箱地址不能为空"];
[XNHUD showErrorWithTitle:@"拒绝访问"];
[XNHUD showSuccessWithTitle:@"操作成功"];
在 UIViewController 上显示(maskType.enable=true 时,导航栏依然可以接受点击事件)
// 引入'UIViewController+XNProgressHUD.h'
[self.hud showLoadingWithTitle:@"正在登录"];
[self.hud showWithTitle:@"这是一个支持自定义的轻量级HUD"];
[self.hud showInfoWithTitle:@"邮箱地址不能为空"];
[self.hud showErrorWithTitle:@"拒绝访问"];
[self.hud showSuccessWithTitle:@"操作成功"];
在 UIView 上显示
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 300)];
[self.view addSubview:view];
// 设置显示的目标View并传入显示位置
[XNHUD setTargetView:view position:CGPointMake(view.bounds.size.width/2, view.bounds.size.height/2)];
[XNHUD showLoadingWithTitle:@"指定显示在某个View上"];
属性和方法说明
显示时长 minimumDelayDismissDuration 作用于非加载样式的视图:XNAnimationViewStyleInfoImage、XNAnimationViewStyleError、XNAnimationViewStyleSuccess;显示时长 maximumDelayDismissDuration 作用于加载样式的视图:XNAnimationViewStyleLoading、XNAnimationViewStyleProgress。
@property (nonatomic, assign) NSTimeInterval minimumDelayDismissDuration; //default:1.5f
@property (nonatomic, assign) NSTimeInterval maximumDelayDismissDuration; //default:20.f
延时显示时间和延时消失时间,该方法只对下一次 HUD 显示生效(只生效一次)。
[XNHUD setDisposableDelayResponse:1.0f delayDismiss:2.0f];
设置排列方向,默认为垂直方向
[XNHUD setOrientation:XNProgressHUDOrientationHorizontal];
自定义 XNProgressHUD
您可以自定义某个状态下的动画,步骤非常简单,只需喜欢 XNAnimationView 中相应的 Layer 就行。如果您想替换所有状态下的动画,请重写 XNAnimationView。
就介绍这么多,其他功能请自行探索。