设为首页 加入收藏

TOP

(20160601)开源第三方学习之SVProgressHUD(一)
2017-10-13 10:23:42 】 浏览:2298
Tags:20160601 开源 第三方 习之 SVProgressHUD

SVProgressHUD相信在很多项目中都有运用,运用于弹出窗提示效果;

地址:https://github.com/SVProgressHUD/SVProgressHUD

一:插件的运用

1.1 首先SVProgressHUD是一个单例([SVProgressHUD method]),所以可以使用起来也相当方便跟简单,可以写在任意位置;但必须在主线程中进行显示,或则会报闪退;也可以用于显示一个提示信息。所述显示时间取决于给定的字符串的长度( 0.5至5秒)

其中几种展现:
+ (void)showInfoWithStatus:(NSString *)string;
+ (void)showSuccessWithStatus:(NSString*)string;
+ (void)showErrorWithStatus:(NSString *)string;
+ (void)showImage:(UIImage*)image status:(NSString*)string;
+ (void)showProgress:(float)progress status:(NSString*)status;

简单HUD销毁:
+ (void)dismiss;
+ (void)dismissWithDelay:(NSTimeInterval)delay;
+ (void)dismissWithCompletion:(SVProgressHUDDismissCompletion)completion;
+ (void)dismissWithDelay:(NSTimeInterval)delay completion:(SVProgressHUDDismissCompletion)completion;

批量HUD销毁
+ (void)popActivity;

 

1.2  SVProgressHUD可通过下列方法进行个性化定制:

+ (void)setDefaultStyle:(SVProgressHUDStyle)style;                  // 默认是SVProgressHUDStyleLight
+ (void)setDefaultMaskType:(SVProgressHUDMaskType)maskType;         // 默认是SVProgressHUDMaskTypeNone
+ (void)setDefaultAnimationType:(SVProgressHUDAnimationType)type;   // 默认是 SVProgressHUDAnimationTypeFlat
+ (void)setRingThickness:(CGFloat)width;                            // 默认是 2 pt
+ (void)setCornerRadius:(CGFloat)cornerRadius;                      // 默认是 14 pt
+ (void)setFont:(UIFont*)font;                                      // 默认是 [UIFont preferredFontForTextStyle:UIFontTextStyleSubheadline]
+ (void)setForegroundColor:(UIColor*)color;                         // 默认是 [UIColor blackColor], 仅对 SVProgressHUDStyleCustom 有效
+ (void)setBackgroundColor:(UIColor*)color;                         // 默认是 [UIColor whiteColor], 仅对 SVProgressHUDStyleCustom 有效
+ (void)setInfoImage:(UIImage*)image;                               //默认是bundle文件夹中的提示图片.
+ (void)setSuccessImage:(UIImage*)image;                            // 默认是bundle文件夹中的成功图片.
+ (void)setErrorImage:(UIImage*)image;                              // 默认是bundle文件夹中的错误图片.
+ (void)setViewForExtension:(UIView*)view;                          // 默认是nil,仅当设置了 #define SV_APP_EXTENSIONS 时有效.

所以我们可以对于SVProgressHUD做一些调整,比如图标跟文字的显示,背景色等;已经是相当的灵活;

 

1.3 SVProgressHUD带的四个通知,通过NSNotificationCenter 注册4份通知,以响应正在显示/消失:

SVProgressHUDWillAppearNotification 提示框即将出现

SVProgressHUDDidAppearNotification 提示框已经出现

SVProgressHUDWillDisappearNotification 提示框即将消失

SVProgressHUDDidDisappearNotification 提示框已经消失

 

每个通知传递一个userInfo字典,字典中包含HUD的状态字符串(如果有的话) ,可通过SVProgressHUDStatusUserInfoKey作为键来获取。

SVProgressHUD还发送通知:

SVProgressHUDDidReceiveTouchEventNotification当用户触摸整体屏幕上

' SVProgressHUDDidTouchDownInsideNotification当用户直接在HUD接触。这两个通知没有 userInfo参数,但包含了有关的触摸的UIEvent` 参数.

实例:

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(handleNotification:)
                                                 name:SVProgressHUDWillAppearNotification
                                               object:nil];
    
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(handleNotification:)
                                                 name:SVProgressHUDDidAppearNotification
                                               object:nil];
    
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(handleNotification:)
                                                 name:SVProgressHUDWillDisappearNotification
                                               object:nil];
    
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(handleNotification:)
                                                 name:SVProgressHUDDidDisappearNotif
首页 上一页 1 2 3 4 5 6 下一页 尾页 1/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇编程词典 - Swift version V1.0 下一篇iOS 事件传递响应链

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目