iOS 第三方框架-MBProgressHUD
2016-03-31 09:39
417 查看
MBProgressHUD提示框官网地址:https://github.com/jdg/MBProgressHUD
官网里已经提供了足够多的例子供我们使用,但在实现开发中,我们用到的只是其中的一小部分而已。为了使用更方便,下面对它进行扩展(Category)
MBProgressHUD+NJ.h
MBProgressHUD+NJ.m
我们可以看到上面的代码,还引用了图标。直接把图标拷过去,最后的源码里有提供。项目结构:
使用方法很非常的简单。
弹框显示成功:
弹框显示失败:
弹框显示加载中:
部分效果图
官网里已经提供了足够多的例子供我们使用,但在实现开发中,我们用到的只是其中的一小部分而已。为了使用更方便,下面对它进行扩展(Category)
MBProgressHUD+NJ.h
#import "MBProgressHUD.h" @interface MBProgressHUD (NJ) + (void)showSuccess:(NSString *)success; + (void)showSuccess:(NSString *)success toView:(UIView *)view; + (void)showError:(NSString *)error; + (void)showError:(NSString *)error toView:(UIView *)view; + (MBProgressHUD *)showMessage:(NSString *)message; + (MBProgressHUD *)showMessage:(NSString *)message toView:(UIView *)view; + (void)hideHUD; + (void)hideHUDForView:(UIView *)view; @end
MBProgressHUD+NJ.m
#import "MBProgressHUD+NJ.h" @implementation MBProgressHUD (NJ) /** * 显示信息 * * @param text 信息内容 * @param icon 图标 * @param view 显示的视图 */ + (void)show:(NSString *)text icon:(NSString *)icon view:(UIView *)view { if (view == nil) view = [[UIApplication sharedApplication].windows lastObject]; // 快速显示一个提示信息 MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:view animated:YES]; hud.labelText = text; // 设置图片 hud.customView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"MBProgressHUD.bundle/%@", icon]]]; // 再设置模式 hud.mode = MBProgressHUDModeCustomView; // 隐藏时候从父控件中移除 hud.removeFromSuperViewOnHide = YES; // 1秒之后再消失 [hud hide:YES afterDelay:0.7]; } /** * 显示成功信息 * * @param success 信息内容 */ + (void)showSuccess:(NSString *)success { [self showSuccess:success toView:nil]; } /** * 显示成功信息 * * @param success 信息内容 * @param view 显示信息的视图 */ + (void)showSuccess:(NSString *)success toView:(UIView *)view { [self show:success icon:@"success.png" view:view]; } /** * 显示错误信息 * */ + (void)showError:(NSString *)error { [self showError:error toView:nil]; } /** * 显示错误信息 * * @param error 错误信息内容 * @param view 需要显示信息的视图 */ + (void)showError:(NSString *)error toView:(UIView *)view{ [self show:error icon:@"error.png" view:view]; } /** * 显示错误信息 * * @param message 信息内容 * * @return 直接返回一个MBProgressHUD,需要手动关闭 */ + (MBProgressHUD *)showMessage:(NSString *)message { return [self showMessage:message toView:nil]; } /** * 显示一些信息 * * @param message 信息内容 * @param view 需要显示信息的视图 * * @return 直接返回一个MBProgressHUD,需要手动关闭 */ + (MBProgressHUD *)showMessage:(NSString *)message toView:(UIView *)view { if (view == nil) view = [[UIApplication sharedApplication].windows lastObject]; // 快速显示一个提示信息 MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:view animated:YES]; hud.labelText = message; // 隐藏时候从父控件中移除 hud.removeFromSuperViewOnHide = YES; // YES代表需要蒙版效果 hud.dimBackground = YES; return hud; } /** * 手动关闭MBProgressHUD */ + (void)hideHUD { [self hideHUDForView:nil]; } /** * 手动关闭MBProgressHUD * * @param view 显示MBProgressHUD的视图 */ + (void)hideHUDForView:(UIView *)view { if (view == nil) view = [[UIApplication sharedApplication].windows lastObject]; [self hideHUDForView:view animated:YES]; } @end
我们可以看到上面的代码,还引用了图标。直接把图标拷过去,最后的源码里有提供。项目结构:
使用方法很非常的简单。
弹框显示成功:
[MBProgressHUD showSuccess:@"测试showSuccess"];
弹框显示失败:
[MBProgressHUD showError:@"测试showError"];
弹框显示加载中:
[MBProgressHUD showMessage:@"正在加载数据中....."]; // 几秒后消失,当然,这里可以改为网络请求 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ // 移除HUD [MBProgressHUD hideHUD]; // 提醒有没有新数据 [MBProgressHUD showError:@"没有新数据"]; });
部分效果图
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 讲解iOS开发中基本的定位功能实现
- iOS中定位当前位置坐标及转换为火星坐标的方法
- js判断客户端是iOS还是Android等移动终端的方法
- iOS应用中UISearchDisplayController搜索效果的用法
- IOS开发环境windows化攻略
- iOS应用中UITableView左滑自定义选项及批量删除的实现
- 浅析iOS应用开发中线程间的通信与线程安全问题
- 检测iOS设备是否越狱的方法
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- Android Studio使用教程(五):Gradle命令详解和导入第三方包
- Android、iOS和Windows Phone中的推送技术详解
- Java在制作jar包时引用第三方jar包的方法