MBProgressHUD
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MBProgressHUD相关的知识,希望对你有一定的参考价值。
1.+ (MB_INSTANCETYPE)showHUDAddedTo:(UIView *)view animated:(BOOL)animated;
创建一个新的HUD,并把它添加并显示到提供的视图上.与之相对应的方法是 hideHUDForView:animated:.
@note 这个方法会设置HUD的属性`removeFromSuperViewOnHide`为YES.HUD会在隐藏时自动从父视图上移除.
@param view 将HUD添加到此视图上.
@param animated YES,显示时使用当前的动画类型显示;NO,直接显示不使用动画效果.
@return 新创建的HUD.
@see hideHUDForView:animated:
@see animationType
2.+ (BOOL)hideHUDForView:(UIView *)view animated:(BOOL)animated;
找到并隐藏子视图最顶层的HUD.与之对应的方法是 showHUDAddedTo:animated:.
@note 这个方法会设置HUD的属性`removeFromSuperViewOnHide`为YES.HUD会在隐藏时自动从父视图上移除.
@param view 用来在其子视图中查找HUD的视图.
@param animated YES,隐藏时使用当前的动画类型显示;NO,直接隐藏不使用动画效果.
@return YES,如果某个HUD被找到并被移除;否则返回NO.
@see showHUDAddedTo:animated:
@see animationType
3.+ (NSUInteger)hideAllHUDsForView:(UIView *)view animated:(BOOL)animated;
找到子视图中所有的HUD,并隐藏.
@note 这个方法会设置HUD的属性`removeFromSuperViewOnHide`为YES.HUD会在隐藏时自动从父视图上移除.
@param view 用来在其子视图中查找HUD的视图.
@param animated YES,隐藏时使用当前的动画类型显示;NO,直接隐藏不使用动画效果.
@return 找到并移除的HUD的数量.
@see hideHUDForView:animated:
@see animationType
4、+ (MB_INSTANCETYPE)HUDForView:(UIView *)view;
找到并返回子视图最顶层的HUD.
@param view 用来在其子视图中查找HUD的视图.
@return 子视图最顶层的HUD.
5、+ (NSArray *)allHUDsForView:(UIView *)view;
找到并返回子视图中所有的HUD.
@param view 用来在其子视图中查找HUD的视图.
@return 所有找到的HUD视图(存储 MBProgressHUD 对象的数组).
6、 - (id)initWithWindow:(UIWindow *)window;
使用屏幕尺寸创建HUD的便利初始化方法.
@param window 提供边框值以初始化HUD的窗口.应该和HUD未来的父视图相同(比如,创建 HUD 后,将HUD添加到此窗口上).
7. - (id)initWithView:(UIView *)view;
使用指定视图的边框尺寸创建HUD的便利初始化方法.
@param view 提供边框值以初始化HUD的视图.应该和HUD未来的父视图相同(比如,创建 HUD 后,将HUD添加到此视图上).
8. - (void)show:(BOOL)animated;
显示HUD.你需要确保调用此方法时,主线程未被其他任务阻塞,以便于更新视图.当你已经在新的线程中开始(比如,使用NSOperation或者NSURLRequest的异步请求等)执行某个任务后,再执行此方法.
@param animated YES,显示时使用当前的动画类型显示;NO,直接显示不使用动画效果. *
@see animationType
9. - (void)hide:(BOOL)animated;
隐藏HUD.这个仍然会去尝试调用代理的hudWasHidden:方法.此方法是 show: 的配对方法.当你的任务完成时,再使用它.
@param animated YES,隐藏时使用当前的动画类型显示;NO,直接隐藏不使用动画效果.
@see animationType
10.- (void)hide:(BOOL)animated afterDelay:(NSTimeInterval)delay;
延时隐藏HUD.这个仍然会去尝试调用代理的hudWasHidden:方法.此方法是 show: 的配对方法.当你的任务完成时,再使用它.
@param animated YES,隐藏时使用当前的动画类型显示;NO,直接隐藏不使用动画效果.
@param delay Delay in seconds until the HUD is hidden.
@see animationType
11. - (void)showWhileExecuting:(SEL)method onTarget:(id)target withObject:(id)object animated:(BOOL)animated;
#if NS_BLOCKS_AVAILABLE
当在新线程执行某个后台任务时,显示HUD;任务完成时,自动隐藏HUD.
这个方法会处理自动释放池的相关技术细节,所以你可以安全使用它.
@param method HUD显示期间,被执行的方法.这个方法会在一个新的线程中执行.
@param target HUD显示期间,被调用的方法归属的实例对象.
@param object 用来传递给方法的可选对象.
@param animated YES,HUD使用当前的 animationType 动画类型来显示或隐藏;否则,显示或隐藏时不使用动画效果.
animations while (dis)appearing.
12.- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block;
当在后台队列中执行block时,显示HUD;并在block执行完毕后,隐藏HUD.
@see showAnimated:whileExecutingBlock:onQueue:completionBlock:
13.- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block completionBlock:(MBProgressHUDCompletionBlock)completion;
当在后台队列中执行block时,显示HUD;并在block执行完毕后,隐藏HUD.
@see showAnimated:whileExecutingBlock:onQueue:completionBlock:
14. - (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block onQueue:(dispatch_queue_t)queue;
当在后台队列中执行block时,显示HUD;并在block执行完毕后,隐藏HUD.
@see showAnimated:whileExecutingBlock:onQueue:completionBlock:
15. - (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block onQueue:(dispatch_queue_t)queue
completionBlock:(MBProgressHUDCompletionBlock)completion;
当在一个指定的队列中执行block时,显示HUD;block执行完毕后在主线程执行completion block;然后隐藏HUD.
@param animated YES,HUD使用当前的 animationType 动画类型来显示或隐藏;否则,显示或隐藏时不使用动画效果.
@param block HUD显示期间执行的block.
@param queue block在此队列中执行.
@param completion 完成时执行的block.
@see completionBlock
[email protected] (copy) MBProgressHUDCompletionBlock completionBlock;
HUD完全隐藏后执行的block.
17. @property (assign) MBProgressHUDMode mode;
MBProgressHUD 操作模式. 默认是 MBProgressHUDModeIndeterminate.
@see MBProgressHUDMode
18. @property (assign) MBProgressHUDAnimation animationType;
HUD显示和隐藏时使用的动画类型.
@see MBProgressHUDAnimation
19. @property (MB_STRONG) UIView *customView;
HUD处于MBProgressHUDModeCustomView模式时,显示此自定义视图(比如一个 UIImageView).
最好设置自定义视图宽高为 37x37(这是HUD内建指示器的边框值).
[email protected] (MB_WEAK) id<MBProgressHUDDelegate> delegate;
HUD代理对象.
@see MBProgressHUDDelegate
21. @property (copy) NSString *labelText;
状态指示器下可选显示的短消息.HUD会自动调整文字的尺寸. 如果文字过长,后面会用"..."代替.
[email protected] (copy) NSString *detailsLabelText;
可选显示在labelText的细节文字信息.支持多行显示.
[email protected] (assign) float opacity;
HUD的不透明度.默认是0.8.
[email protected] (MB_STRONG) UIColor *color;
HUD的颜色.默认黑色.设置此值后, opacity属性的值将不再使用,因为颜色也可以设置透明度.
25. @property (assign) float xOffset;
HUD相对于父视图中心点的水平偏移量.
[email protected] (assign) float yOffset;
HUD相对于父视图中心点的垂直偏移量
[email protected] (assign) float margin;
HUD边缘与HUD的元素之间(比如标签,指示器,自定义视图等)的空白距离.
默认 20.0
[email protected] (assign) float cornerRadius;
HUD圆角半径,默认10.0.
[email protected] (assign) BOOL dimBackground;
是否给父视图添加一个放射线样式的遮罩层.默认NO.
[email protected] (assign) float graceTime;
用于指定某个方法执行一段时间之后再显示HUD,以秒记.如果方法在这段时间之前就执行完成,就不再显示HUD.
这主要是为了优化耗时可能极短的任务的体验.
默认值为 0.
这个属性仅在可以任务的状态可以知晓时,才有作用.
@see taskInProgress
[email protected] (assign) float minShowTime;
HUD显示的最小时间(以秒记.)
这可以避免HUD刚一显示立即又隐藏所带来的不好的用户体验.
默认是 0.
32. @property (assign) BOOL taskInProgress;
指示被执行的操作是否还在执行. graceTime 属性依赖于这个属性.
如果你没有设置graceTime(和设置为0.0不同),这个属性没有任何作用.
当使用showWhileExecuting:onTarget:withObject:animated:时,这个值会被自动设置.
当直接使用show:或hide:等方法显示或隐藏HUD时,你应该手动设置taskInProgress 属性的值,以保证 graceTime 能正确发挥作用.
33. @property (assign) BOOL removeFromSuperViewOnHide;
HUD隐藏时,是否从父视图中移除.
默认 NO.
[email protected] (MB_STRONG) UIFont* labelFont;
用于主标签的字体值.
[email protected] (MB_STRONG) UIColor* labelColor;
主标签颜色值.
[email protected] (MB_STRONG) UIFont* detailsLabelFont;
详情标签字体值.
[email protected] (MB_STRONG) UIColor* detailsLabelColor;
详情标签颜色.
[email protected] (MB_STRONG) UIColor *activityIndicatorColor;
指示器颜色.默认 [UIColor whiteColor]
[email protected] (assign) float progress;
进度指示器的颜色,可选 0.0 ~ 1.0,默认0.0.
[email protected] (assign) CGSize minSize;
HUD面板的最小尺寸.默认 CGSizeZero.
[email protected] (atomic, assign, readonly) CGSize size;
HUD面板的实际尺存,只读.
你可以使用它来限制HUD的可点击区域.
@see https://github.com/jdg/MBProgressHUD/pull/200
42. @property (assign, getter = isSquare) BOOL square;
是否强制设置HUD为正方形,默认NO.
43. - (void)hudWasHidden:(MBProgressHUD *)hud;
HUD完全从屏幕中隐藏时调用此方法.
44. @interface MBRoundProgressView : UIView
一个饼状图样式的进图指示视图.
[email protected] (nonatomic, assign) float progress;
进度 (0.0 to 1.0)
[email protected] (nonatomic, MB_STRONG) UIColor *progressTintColor;
进度指示器颜色.默认 [UIColor whiteColor].
47. @property (nonatomic, MB_STRONG) UIColor *backgroundTintColor;
进度指示的背景部分的颜色.
默认白色半透(透明度0.1)
[email protected] (nonatomic, assign, getter = isAnnular) BOOL annular;
@end
显示模式.NO,圆形;YES,环形.默认圆形.
[email protected] MBBarProgressView : UIView
一个水平进度条视图.
50. @property (nonatomic, assign) float progress;
进度 (0.0 to 1.0)
51. @property (nonatomic, MB_STRONG) UIColor *lineColor;
进度条边框线的颜色.
默认白色 [UIColor whiteColor]
52. @property (nonatomic, MB_STRONG) UIColor *progressRemainingColor;
进度条背景色.
默认是 [UIColor clearColor];
53. @property (nonatomic, MB_STRONG) UIColor *progressColor;
进度的颜色.
默认 [UIColor whiteColor].
以上是关于MBProgressHUD的主要内容,如果未能解决你的问题,请参考以下文章