MBProgressHUD提示框(进度条)

博客详细介绍了MBProgressHUD的使用,包括如何展示进度条、设置提示信息以及在不同场景下的应用,帮助开发者在iOS开发中实现优雅的加载提示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

@interface MBProgressHUD : UIView
/**
 * HUD完全隐藏后执行的block.
 */
@property (copy) MBProgressHUDCompletionBlock completionBlock;

/** 
 * MBProgressHUD 操作模式. 默认是 MBProgressHUDModeIndeterminate.
 *
 * @see MBProgressHUDMode
 */
@property (assign) MBProgressHUDMode mode;

/**
 * HUD显示和隐藏时使用的动画类型.
 *
 * @see MBProgressHUDAnimation
 */
@property (assign) MBProgressHUDAnimation animationType;

/**
 * HUD处于MBProgressHUDModeCustomView模式时,显示此自定义视图(比如一个 UIImageView).
 * 最好设置自定义视图宽高为 37x37(这是HUD内建指示器的边框值).
 */
@property (MB_STRONG) UIView *customView;

/** 
 * HUD代理对象.
 *
 * @see MBProgressHUDDelegate
 */
@property (MB_WEAK) id<MBProgressHUDDelegate> delegate;

/** 
 *状态指示器下可选显示的短消息.HUD会自动调整文字的尺寸. 如果文字过长,后面会用"..."代替.
  */
@property (copy) NSString *labelText;

/** 
 * 可选显示在labelText的细节文字信息.支持多行显示.
 */
@property (copy) NSString *detailsLabelText;

/** 
 * HUD的不透明度.默认是0.8.
 */
@property (assign) float opacity;

/**
 * HUD的颜色.默认黑色.设置此值后, opacity属性的值将不再使用,因为颜色也可以设置透明度.
 */
@property (MB_STRONG) UIColor *color;

/** 
 * HUD相对于父视图中心点的水平偏移量.
 */
@property (assign) float xOffset;

/** 
 * HUD相对于父视图中心点的垂直偏移量.
 */
@property (assign) float yOffset;

/**
 * HUD边缘与HUD的元素之间(比如标签,指示器,自定义视图等)的空白距离. 
 * 默认 20.0
 */
@property (assign) float margin;

/**
 * HUD圆角半径,默认10.0.
 */
@property (assign) float cornerRadius;

/** 
 * 是否给父视图添加一个放射线样式的遮罩层.默认NO.
 */
@property (assign) BOOL dimBackground;

/*
 * 用于指定某个方法执行一段时间之后再显示HUD,以秒记.如果方法在这段时间之前就执行完成,就不再显示HUD. 
 * 这主要是为了优化耗时可能极短的任务的体验.
 * 默认值为 0.
 * 这个属性仅在可以任务的状态可以知晓时,才有作用.
 * @see taskInProgress
 */
@property (assign) float graceTime;

/**
 * HUD显示的最小时间(以秒记.)
 * 这可以避免HUD刚一显示立即又隐藏所带来的不好的用户体验.
 * 默认是 0.
 */
@property (assign) float minShowTime;

/**
 * 指示被执行的操作是否还在执行. graceTime 属性依赖于这个属性.
 * 如果你没有设置graceTime(和设置为0.0不同),这个属性没有任何作用.
 * 当使用showWhileExecuting:onTarget:withObject:animated:时,这个值会被自动设置.
 * 当直接使用show:或hide:等方法显示或隐藏HUD时,你应该手动设置taskInProgress 属性的值,以保证 graceTime 能正确发挥作用.
 */
@property (assign) BOOL taskInProgress;

/**
 * HUD隐藏时,是否从父视图中移除.
 * 默认 NO. 
 */
@property (assign) BOOL removeFromSuperViewOnHide;

/** 
 * 用于主标签的字体值.
 */
@property (MB_STRONG) UIFont* labelFont;

/**
 * 主标签颜色值.
 */
@property (MB_STRONG) UIColor* labelColor;

/**
 * 详情标签字体值.
 */
@property (MB_STRONG) UIFont* detailsLabelFont;

/** 
 * 详情标签颜色.
 */
@property (MB_STRONG) UIColor* detailsLabelColor;

/**
 * 指示器颜色.默认 [UIColor whiteColor]
 */
@property (MB_STRONG) UIColor *activityIndicatorColor;

/** 
 * 进度指示器的颜色,可选 0.0 ~ 1.0,默认0.0.
 */
@property (assign) float progress;

/**
 * HUD面板的最小尺寸.默认 CGSizeZero.
 */
@property (assign) CGSize minSize;

/**
 *  HUD面板的实际尺存,只读.
 *  你可以使用它来限制HUD的可点击区域.
 * @see https://github.com/jdg/MBProgressHUD/pull/200
 */
@property (atomic, assign, readonly) CGSize size;

/**
 * 是否强制设置HUD为正方形,默认NO.
 */
@property (assign, getter = isSquare) BOOL square;

@end

@protocol MBProgressHUDDelegate <NSObject>

@optional

/** 
 * HUD完全从屏幕中隐藏时调用此方法.
 */
- (void)hudWasHidden:(MBProgressHUD *)hud;

@end

/**
 * 一个饼状图样式的进图指示视图.
 */
@interface MBRoundProgressView : UIView 

/**
 * 进度 (0.0 to 1.0)
 */
@property (nonatomic, assign) float progress;

/**
 * 进度指示器颜色.默认 [UIColor whiteColor].
 */
@property (nonatomic, MB_STRONG) UIColor *progressTintColor;

/**
 * 进度指示的背景部分的颜色.
 * 默认白色半透(透明度0.1)
 */
@property (nonatomic, MB_STRONG) UIColor *backgroundTintColor;

/*
 * 显示模式.NO,圆形;YES,环形.默认圆形.
 */
@property (nonatomic, assign, getter = isAnnular) BOOL annular;

@end

/**
 * 一个水平进度条视图. 
 */
@interface MBBarProgressView : UIView

/**
 * 进度 (0.0 to 1.0)
 */
@property (nonatomic, assign) float progress;

/**
 * 进度条边框线的颜色.
 * 默认白色 [UIColor whiteColor].
 */
@property (nonatomic, MB_STRONG) UIColor *lineColor;

/**
 * 进度条背景色.
 * 默认是 [UIColor clearColor];
 */
@property (nonatomic, MB_STRONG) UIColor *progressRemainingColor;

/**
 * 进度的颜色.
 * 默认 [UIColor whiteColor].
 */
@property (nonatomic, MB_STRONG) UIColor *progressColor;

@end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值