Files
keyboard/keyBoard/Class/Categories/KBHUD.h
2025-10-29 19:13:35 +08:00

65 lines
2.3 KiB
Objective-C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// KBHUD.h
// keyBoard
//
// 基于 MBProgressHUD 的轻量封装,提供类似 SVProgressHUD 的类方法调用方式。
// 特性:
// - 默认加到 KeyWindow 上
// - 支持遮罩模式(不拦截/透明拦截/半透明黑遮罩)
// - 默认不支持点击背景关闭;可为“本次显示/当前 HUD”开启点击关闭
// - 文案/加载/进度/自动消失
//
#import <Foundation/Foundation.h>
typedef NS_ENUM(NSUInteger, KBHUDMaskType) {
/// 不加遮罩,事件可透传到后面的视图(与 SVProgressHUDMaskTypeNone 类似)
KBHUDMaskTypeNone = 0,
/// 透明遮罩,拦截触摸但不变暗(与 SVProgressHUDMaskTypeClear 类似)
KBHUDMaskTypeClear,
/// 半透明黑色遮罩(与 SVProgressHUDMaskTypeBlack 类似)
KBHUDMaskTypeBlack,
};
NS_ASSUME_NONNULL_BEGIN
@interface KBHUD : NSObject
#pragma mark - 显示
/// 纯菊花
+ (void)show;
/// 菊花 + 文案
+ (void)showWithStatus:(nullable NSString *)status;
/// 菊花 + 文案(可配置:是否允许点击背景关闭)
+ (void)showWithStatus:(nullable NSString *)status allowTapToDismiss:(BOOL)allow;
/// 圆形进度 0~1 + 文案
+ (void)showProgress:(float)progress status:(nullable NSString *)status;
/// 圆形进度 0~1 + 文案(可配置:是否允许点击背景关闭)
+ (void)showProgress:(float)progress status:(nullable NSString *)status allowTapToDismiss:(BOOL)allow;
/// 文案提示(自动隐藏)
+ (void)showInfo:(NSString *)status;
/// 成功提示(自动隐藏)
+ (void)showSuccess:(NSString *)status;
/// 失败提示(自动隐藏)
+ (void)showError:(NSString *)status;
#pragma mark - 隐藏
/// 立即隐藏
+ (void)dismiss;
/// 延时隐藏
+ (void)dismissWithDelay:(NSTimeInterval)delay;
#pragma mark - 配置(全局)
/// 设置默认遮罩类型,默认 KBHUDMaskTypeClear
+ (void)setDefaultMaskType:(KBHUDMaskType)maskType;
/// 为“当前正在展示的 HUD”设置点击背景是否关闭若当前没有 HUD 则忽略
+ (void)setTapToDismissEnabled:(BOOL)enabled;
/// 仅本次显示:菊花(无文案)可配置是否允许点击背景关闭
+ (void)showAllowTapToDismiss:(BOOL)allow;
/// 设置自动隐藏的时长success/error/info默认 1.2s
+ (void)setAutoDismissInterval:(NSTimeInterval)interval;
@end
NS_ASSUME_NONNULL_END