MBHUD
MBHUD
是一个干净且易于使用的 HUD,旨在显示 iOS 上正在进行的任务的进度。MBHUD
依赖于 MBProgressHUD
,它是站在巨人的肩膀上,对 MBProgressHUD 的简单封装。本文是为了向 MBProgressHUD 表达敬意。
安装
从 CocoaPods
CocoaPods 是一个 Objective-C 的依赖管理器,它自动化并简化了在使用如 MBHUD
这样的第三方库时的过程。首先,将以下行添加到您的 Podfile
pod 'MBHUD'
如果您想使用 MBHUD
的最新功能,请使用常规的外部源依赖项。
pod 'MBHUD', :git => 'https://github.com/qyfeng009/MBHUD.git'
这直接从 master
分支拉取。
其次,将 MBHUD
安装到您的项目中
pod install
Swift
尽管MBHUD
是用Objective-C编写的,但可以在Swift中使用而不会给你带来任何麻烦。如果你使用CocoaPods,请将以下行添加到你的Podfile
use_frameworks!
如果你手动添加了MBHUD
,只需将包含MBHUD
头的bridging header文件添加到你的项目中。
使用方法
(请参阅/Demo
中的示例Xcode项目)
明智地使用MBHUD
!只有在你绝对需要在用户进一步操作之前执行一个任务时才使用。不良使用案例:下拉刷新,无限滚动,发送消息。
在您的应用中使用MBHUD
通常会像这样简单(使用Grand Central Dispatch)
a. general
MBHUD *hud = [MBHUD showHUDToView:self.view];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// time-consuming task
dispatch_async(dispatch_get_main_queue(), ^{
[hud hid];
});
});
b. chain
[MBHUD showHUDToView:self.view].setDark().showSuccess(@"success");
c. class
[MBHUD showLoadingChaseR:nil onView:nil];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[MBHUD showFailed:nil onView:nil];
});
自定义
MBHUD
可以通过以下方法进行自定义:
/**
设置 MBProgressHUDBackgroundStyle 为 Blur
*/
- (void)setHUDBackgroundStyleBlur;
/**
设置 MBBackgroundView 的 color
@param color UIColor
*/
- (void)setHUDBackgroundViewColor:(UIColor *)color;
/**
设置 BezelView 的颜色
@param color UIColor
*/
- (void)setHUDBezelViewColor:(UIColor *)color;
/**
设置显示内容的颜色
@param color UIColor
*/
- (void)setHUDContentColor:(UIColor *)color;
/**
设置 HUD 内容边距
@param margin margin
*/
- (void)setHUDMargin:(CGFloat)margin;
/**
设置 HUD 最小尺寸
@param minSize minSize
*/
- (void)setHUDMInSize:(CGSize)minSize;
/**
让SuperView响应操作,即禁用HUD的 userInteractionEnabled = NO
*/
- (void)superViewUserInteractionEnabled;
许可
本代码根据MIT许可的条款和条件分发。