1. SVProgressHUD
SVProgressHUD
是轻量级的弹出窗提示效果,使用起来相当简单方便。
在Podfile中安装
pod 'SVProgressHUD'
导入SVProgressHUD
#import "SVProgressHUD.h"
2. SVProgressHUD弹窗
SVProgressHUD
可以显示一直旋转的进度条,
// 显示一直旋转的进度条
+ (void)show;
// 显示一直旋转的进度条和状态
+ (void)showWithStatus:(nullable NSString*)status;
SVProgressHUD
可以显示具体进度的进度条。
// 显示进度条,progress为 0~1
+ (void)showProgress:(float)progress;
// 显示进度条和状态
+ (void)showProgress:(float)progress status:(nullable NSString*)status;
SVProgressHUD
可以显示图标和状态。
// 显示消息图标和状态
+ (void)showInfoWithStatus:(nullable NSString*)status;
// 显示成功图标和状态
+ (void)showSuccessWithStatus:(nullable NSString*)status;
// 显示错误图标和状态
+ (void)showErrorWithStatus:(nullable NSString*)status;
// 显示自定义图标和状态
+ (void)showImage:(nonnull UIImage*)image status:(nullable NSString*)status;
SVProgressHUD
关闭弹窗
// 关闭弹窗
+ (void)dismiss;
// 关闭弹窗,并执行completion
+ (void)dismissWithCompletion:(nullable SVProgressHUDDismissCompletion)completion;
// 延迟关闭弹窗
+ (void)dismissWithDelay:(NSTimeInterval)delay;
// 延迟关闭弹窗,并执行completion
+ (void)dismissWithDelay:(NSTimeInterval)delay completion:(nullable SVProgressHUDDismissCompletion)completion;
3. 主要方法
// 提示框背景和文字,默认是SVProgressHUDStyleLight
+ (void)setDefaultStyle:(SVProgressHUDStyle)style;
// 背景图层,默认SVProgressHUDMaskTypeNone
+ (void)setDefaultMaskType:(SVProgressHUDMaskType)maskType;
// 设置进度条样式,默认SVProgressHUDAnimationTypeFlat
+ (void)setDefaultAnimationType:(SVProgressHUDAnimationType)type;
// 提示框文字颜色,默认黑色,只在style为SVProgressHUDStyleCustom有效
+ (void)setForegroundColor:(nonnull UIColor*)color;
// 提示框背景颜色,默认白色,只在style为SVProgressHUDStyleCustom有效
+ (void)setBackgroundColor:(nonnull UIColor*)color;
// 背景图层,默认半透明,只在style为SVProgressHUDStyleCustom有效
+ (void)setBackgroundLayerColor:(nonnull UIColor*)color;
// 状态字体,默认[UIFont preferredFontForTextStyle:UIFontTextStyleSubheadline]
+ (void)setFont:(nonnull UIFont*)font;
// 提示框的边角弯曲半径,默认14pt
+ (void)setCornerRadius:(CGFloat)cornerRadius;
// 转圈宽度,默认2pt
+ (void)setRingThickness:(CGFloat)ringThickness;
// 转圈半径,默认18pt
+ (void)setRingRadius:(CGFloat)radius;
// 没有文字时的转圈半径,默认24pt
+ (void)setRingNoTextRadius:(CGFloat)radius;
// 设置消息图片
+ (void)setInfoImage:(nonnull UIImage*)image;
// 设置成功图片
+ (void)setSuccessImage:(nonnull UIImage*)image;
// 设置错误图片
+ (void)setErrorImage:(nonnull UIImage*)image;
// 设置图片大小,默认28x28pt
+ (void)setImageViewSize:(CGSize)size;
SVProgressHUDStyle
定义提示框背景和文字
typedef NS_ENUM(NSInteger, SVProgressHUDStyle) {
SVProgressHUDStyleLight, // 默认类型,白色半透明背景,黑色字体
SVProgressHUDStyleDark, // 黑色背景,白色字体
SVProgressHUDStyleCustom // 白色背景,黑色字体
};
SVProgressHUDMaskType
定义背景图层
typedef NS_ENUM(NSUInteger, SVProgressHUDMaskType) {
SVProgressHUDMaskTypeNone = 1, // 默认类型,允许与后面界面交互
SVProgressHUDMaskTypeClear, // 不允许与后面界面交互
SVProgressHUDMaskTypeBlack, // 不允许与后面界面交互,背景图层为半透明
SVProgressHUDMaskTypeGradient, // 不允许与后面界面交互,背景图层为渐变变化
SVProgressHUDMaskTypeCustom // 不允许与后面界面交互,背景图层为自定义
};
SVProgressHUDAnimationType
是转圈样式
typedef NS_ENUM(NSUInteger, SVProgressHUDAnimationType) {
SVProgressHUDAnimationTypeFlat, // 默认转圈样式
SVProgressHUDAnimationTypeNative // 菊花型转圈样式
};
4. SVProgressHUD通知
// 提示框即将出现
NSString * const SVProgressHUDWillAppearNotification = @"SVProgressHUDWillAppearNotification";
// 提示框已经出现
NSString * const SVProgressHUDDidAppearNotification = @"SVProgressHUDDidAppearNotification";
// 提示框即将消失
NSString * const SVProgressHUDWillDisappearNotification = @"SVProgressHUDWillDisappearNotification";
// 提示框已经消失
NSString * const SVProgressHUDDidDisappearNotification = @"SVProgressHUDDidDisappearNotification";