iOS 第三方框架-MBProgressHUD
来源:互联网 发布:故障树分析软件 编辑:程序博客网 时间:2024/05/21 17:08
MBProgressHUD提示框官网地址:https://github.com/jdg/MBProgressHUD
官网里已经提供了足够多的例子供我们使用,但在实现开发中,我们用到的只是其中的一小部分而已。为了使用更方便,下面对它进行扩展(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:@"没有新数据"]; });
部分效果图
源码下载:http://pan.baidu.com/s/1eQhN7VW
0 0
- iOS 第三方框架-MBProgressHUD
- iOS 第三方框架-MBProgressHUD
- iOS 第三方框架-MBProgressHUD
- 浅析 iOS 第三方框架 MBProgressHUD
- iOS 第三方框架-MBProgressHUD mark下
- 第三方框架 MBProgressHUD 指示器
- IOS常用第三方框架 --- MBProgressHUD 提示效果
- iOS 第三方框架-MBProgressHUD的简单使用
- ios学习--第三方框架-MBProgressHUD以及扩展
- ios第三方库MBProgressHUD
- iOS 第三方库 - MBProgressHUD
- IOS MBProgressHUD第三方库的封装
- iOS 第三方MBProgressHUD使用的问题
- 第三方(MBProgressHUD)
- 第三方框架中关于HUD有MBProgressHUD和SVProgressHUD
- iOS第三方框架
- ios 第三方框架
- iOS 第三方框架
- 京东2017实习生招聘试题 静态方法
- Java final和static总结
- 中间空格过滤
- 蓝牙4.0BLE协议栈
- linux tail 命令详解
- iOS 第三方框架-MBProgressHUD
- 蘑菇街面试(后台开发)记第一次面试经历
- HTML中让表单input等文本框为只读不可编辑的方法
- 一个分布式服务器集群架构方案
- MyEclipse启动服务器报java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
- 退役了~
- getFields()与getDeclaredFields()区别
- 人工智能与机器学习知识梳理
- 前端获取表格中一行内容