iOS 第三方框架-MBProgressHUD

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:@"没有新数据"];
    });
复制代码

部分效果图


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
今天LemonKit给大家带来的是 柠檬泡泡控件 !!!!(给个英文名:LKBubble) 相信大家做iOS开发肯定都用户SVProgressHUD 或者 MBProgressHUD,但是觉没觉得很死板呢,可定制性不算是太高,而且动画略丑(个人觉得非常丑)。所以一气之下,自己胡乱写了一个,大家可以看看哦(上面有效果图),要是喜欢的朋友可以去Github给个星星~!!!这是个纯国产的透明指示层~ 本身LKBubble只是一个提示框,根据设置的LKBubbleInfo弹出框的样式来显示对应的效果,为了方便大家,我在工程里面直接写了三个自带的三个样式提示框,带有对号的成功提示,带有叉的错误提示,仿google的等待进度提示框,大家可以看一下代码,很容易就可以自定义一个带有动画效果的绚丽的提示框,也可以基于我提供的三个提示框LKBubbleInfo来快速的针对自己项目来修改主题风格哦! 可以自定义如下提示框: 1. 自定义单图的泡泡控件 2. 自定义多图帧动画的泡泡控件 3. 可以自己通过绘图绘制动画的泡泡控件(自带的三种提示框就是通过这种方式绘制的) 4. 只有标题的泡泡控件 5. 可以通过配置任意修改泡泡显示位置(屏幕上中下三个位置,当然还可以通过配置偏移量方式修改到任意位置!) 6. 图上标题下,图左标题右,要啥样就能变成啥样,随你的APP风格变化! 7. 所有的颜色均可配置,你项目什么风格,整体就什么风格! 8. 你自定义好的LKBubbleInfo,团队人无需其他复杂操作,即可调用你写的泡泡控件风格! 调用我直接封装的提示框非常方便,比如在UIViewController中可以直接调用下面代码弹出成功提示框: [self showRightWithTitle: @"添加成功" autoCloseTime: 2]; 没错,就一行代码,就可以啦! 更多的方便的功能大家可以自己摸索哦! 还是老样子,附件中只提供核心代码,还是建议大家去Github下载最新的代码,因为这个工程会越来越吸引人哦!!! 另外还得磨叽一遍:LemonKit的所有代码都会推出三个版本:iOS-OC , iOS-Swift , Android 马上就会推出Android的对应版本,后续可以去安卓巴士中找到安卓对应的版本哦!! 当然也可以直接去Github上下载~ 别忘啦,帮我点一下star!! 多谢 另外新建了个QQ群,大家要是使用过程中不懂得或者技术有问题可以加这个群来聊一聊,当然技术问题也可以哦! 欢迎大家加入: LemonKit QQ群:370157608 Github项目地址: Android版本:https://github.com/1em0nsOft/LemonKit4Android iOS OC版本:https://github.com/1em0nsOft/LemonKit4iOS iOS Swift版本:https://github.com/1em0nsOft/LemonKit4iOS-Swift

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值