MBProgressHUD.h概览
枚举
可用的HUD显示方式
typedef NS_ENUM(NSInteger, MBProgressHUDMode) {
/** UIActivityIndicatorView */
MBProgressHUDModeIndeterminate,
/** 圆形饼状图*/
MBProgressHUDModeDeterminate,
/** 水平进度条*/
MBProgressHUDModeDeterminateHorizontalBar,
/** 环形进度条*/
MBProgressHUDModeAnnularDeterminate,
/** 自定义*/
MBProgressHUDModeCustomView,
/** 仅文本*/
MBProgressHUDModeText
};
动画类型
typedef NS_ENUM(NSInteger, MBProgressHUDAnimation) {
/** Opacity animation */
MBProgressHUDAnimationFade,
/** 显示在屏幕上时有一个从大到小缩放的效果 */
MBProgressHUDAnimationZoom,
MBProgressHUDAnimationZoomOut = MBProgressHUDAnimationZoom,
/** 与MBProgressHUDAnimationZoomOut相反*/
MBProgressHUDAnimationZoomIn
};
兼容ARC与MRC:
#ifndef MB_INSTANCETYPE
#if __has_feature(objc_instancetype)
#define MB_INSTANCETYPE instancetype
#else
#define MB_INSTANCETYPE id
#endif
#endif
#ifndef MB_STRONG
#if __has_feature(objc_arc)
#define MB_STRONG strong
#else
#define MB_STRONG retain
#endif
#endif
#ifndef MB_WEAK
#if __has_feature(objc_arc_weak)
#define MB_WEAK weak
#elif __has_feature(objc_arc)
#define MB_WEAK unsafe_unretained
#else
#define MB_WEAK assign
#endif
#endif
是否block可用(OSX106&&iOS4以后可用)
#if NS_BLOCKS_AVAILABLE
typedef void (^MBProgressHUDCompletionBlock)();
#endif
MBProgressHUD方法:
//配对方法hideHUDForView:animated:
//animated 参见animationType
+ (MB_INSTANCETYPE)showHUDAddedTo:(UIView *)view animated:(BOOL)animated;
+ (BOOL)hideHUDForView:(UIView *)view animated:(BOOL)animated;
//return the number of HUDs found and removed.
+ (NSUInteger)hideAllHUDsForView:(UIView *)view animated:(BOOL)animated;
//返回最顶层的HUD或者全部的HUDs
+ (MB_INSTANCETYPE)HUDForView:(UIView *)view;
+ (NSArray *)allHUDsForView:(UIView *)view;
//构造函数
- (id)initWithWindow:(UIWindow *)window;
- (id)initWithView:(UIView *)view;
//Display or hide the HUD
- (void)show:(BOOL)animated;
- (void)hide:(BOOL)animated;
- (void)hide:(BOOL)animated afterDelay: (NSTimeInterval)delay;
//内部为method开启新线程
- (void)showWhileExecuting:(SEL)method onTarget:(id)target withObject:(id)object animated:(BOOL)animated;
//block方法
- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block;
- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block completionBlock:(MBProgressHUDCompletionBlock)completion;
- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block onQueue:(dispatch_queue_t)queue;
- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block onQueue:(dispatch_queue_t)queue
completionBlock:(MBProgressHUDCompletionBlock)completion;
MBProgressHUD属性:
//显示类型(饼图,环图,进度条...)
@property (assign) MBProgressHUDMode mode;
//动画类型
@property (assign) MBProgressHUDAnimation animationType;
//自定义view
@property (MB_STRONG) UIView *customView;
@property (MB_WEAK) id<MBProgressHUDDelegate> delegate;
@property (copy) NSString *labelText;
@property (copy) NSString *detailsLabelText;
@property (assign) float opacity;
@property (MB_STRONG) UIColor *color;
@property (assign) float xOffset;
@property (assign) float yOffset;
@property (assign) float margin;
@property (assign) float cornerRadius;
@property (assign) BOOL dimBackground;
@property (assign) float graceTime;
@property (assign) float minShowTime;
@property (assign) BOOL taskInProgress;
@property (assign) BOOL removeFromSuperViewOnHide;
@property (MB_STRONG) UIFont* labelFont;
@property (MB_STRONG) UIColor* labelColor;
@property (MB_STRONG) UIFont* detailsLabelFont;
@property (MB_STRONG) UIColor* detailsLabelColor;
@property (MB_STRONG) UIColor *activityIndicatorColor;
@property (assign) float progress;
@property (assign) CGSize minSize;
@property (atomic, assign, readonly) CGSize size;
@property (assign, getter = isSquare) BOOL square;
MBProgressHUDDelegate:
//HUD消失时调用
- (void)hudWasHidden:(MBProgressHUD *)hud;
MBRoundProgressView:
@property (nonatomic, assign) float progress;
@property (nonatomic, MB_STRONG) UIColor *progressTintColor;
@property (nonatomic, MB_STRONG) UIColor *backgroundTintColor;
@property (nonatomic, assign, getter = isAnnular) BOOL annular;
MBBarProgressView:
@property (nonatomic, assign) float progress;
@property (nonatomic, MB_STRONG) UIColor *lineColor;
@property (nonatomic, MB_STRONG) UIColor *progressRemainingColor;
@property (nonatomic, MB_STRONG) UIColor *progressColor;