iOS 进度框(二) SVProgressHUD

举报
福州司马懿 发表于 2021/11/19 05:17:19 2021/11/19
【摘要】 一、常用的第三方 “进度框” 大致有以下2种: (1)SVProgressHUD 使用起来很方便,但可定制差一些,看它的接口貌似只能添加一个全屏的HUD,不能把它添加到某个视图上面去。SVProgressHUD 调用方式很多都是静态方式,使用起来也比较方便。 (2)MBProgressHUD 功能全一些,可定制高一些,而且...

一、常用的第三方 “进度框” 大致有以下2种:

(1)SVProgressHUD 使用起来很方便,但可定制差一些,看它的接口貌似只能添加一个全屏的HUD,不能把它添加到某个视图上面去。SVProgressHUD 调用方式很多都是静态方式,使用起来也比较方便。

(2)MBProgressHUD 功能全一些,可定制高一些,而且可以指定加到某一个View上去,用起来可能就没上面那个方便了。

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


MBProgressHUD 在我的上一篇博客中已经介绍过了,这里介绍一下SVProgressHUD

当前开发环境 Mac OS 10.11.6、XCode 7.1、iOS9

SVProgressHUD的版本为 v2.0.3



二、项目截图

1、运行截图

2、show


  
  1. - (void)show {
  2. [SVProgressHUD show];
  3. }


3、showWithStatus


  
  1. - (void)showWithStatus {
  2. [SVProgressHUD showWithStatus:@"Doing Stuff"];
  3. }


4、showWithProgress


  
  1. static float progress = 0.0f;
  2. - (IBAction)showWithProgress:(id)sender {
  3. progress = 0.0f;
  4. [SVProgressHUD showProgress:0 status:@"Loading"];
  5. [self performSelector:@selector(increaseProgress) withObject:nil afterDelay:0.3f];
  6. }
  7. - (void)increaseProgress {
  8. progress += 0.1f;
  9. [SVProgressHUD showProgress:progress status:@"Loading"];
  10. if(progress < 1.0f){
  11. [self performSelector:@selector(increaseProgress) withObject:nil afterDelay:0.3f];
  12. } else {
  13. [self performSelector:@selector(dismiss) withObject:nil afterDelay:0.4f];
  14. }
  15. }


5、showInfoWithStatus


  
  1. - (IBAction)showInfoWithStatus {
  2. [SVProgressHUD showInfoWithStatus:@"Useful Information."];
  3. }


6、showSuccessWithStatus


  
  1. - (void)showSuccessWithStatus {
  2. [SVProgressHUD showSuccessWithStatus:@"Great Success!"];
  3. }


7、showErrorWithStatus


  
  1. - (void)showErrorWithStatus {
  2. [SVProgressHUD showErrorWithStatus:@"Failed with Error"];
  3. }


8、dismiss

关闭进度框


  
  1. - (void)dismiss {
  2. [SVProgressHUD dismiss];
  3. }

9、Style(Light、Dark)

Style指的是背景颜色,背景色与前景色相反。


  
  1. typedef NS_ENUM(NSInteger, SVProgressHUDStyle) {
  2. SVProgressHUDStyleLight, // default style, white HUD with black text, HUD background will be blurred on iOS 8 and above
  3. SVProgressHUDStyleDark, // black HUD and white text, HUD background will be blurred on iOS 8 and above
  4. SVProgressHUDStyleCustom // uses the fore- and background color properties
  5. };

例如:

(1)SVProgressHUDStyleLight:White background with black spinner and text

背景色为白色,前景色为黑色


(2)SVProgressHUDStyleDark:Black background with white spinner and text

背景色为黑色,前景色为白色


(3)SVProgressHUDStyleCustom:

If you want to use custom colors with setForegroundColor and setBackgroundColor don't forget tp set SVProgressHUDStyleCustom via setDefaultStyle 

如果想使用自定义的前景色和背景色,就必须使者该style。

10、AnimationType(Flat、Native)

AnimationType指的是动画类型,只对 "show" 和 "showWithStatus" 有效


  
  1. typedef NS_ENUM(NSUInteger, SVProgressHUDAnimationType) {
  2. SVProgressHUDAnimationTypeFlat, // default animation type, custom flat animation (indefinite animated ring)
  3. SVProgressHUDAnimationTypeNative // iOS native UIActivityIndicatorView
  4. };

(1)Flat                    

(2)Native


11、MaskType(None、Clear、Black、Grad、Cust)


  
  1. typedef NS_ENUM(NSUInteger, SVProgressHUDMaskType) {
  2. SVProgressHUDMaskTypeNone = 1, // default mask type, allow user interactions while HUD is displayed
  3. SVProgressHUDMaskTypeClear, // don't allow user interactions
  4. SVProgressHUDMaskTypeBlack, // don't allow user interactions and dim the UI in the back of the HUD, as on iOS 7 and above
  5. SVProgressHUDMaskTypeGradient, // don't allow user interactions and dim the UI with a a-la UIAlertView background gradient, as on iOS 6
  6. SVProgressHUDMaskTypeCustom // don't allow user interactions and dim the UI in the back of the HUD with a custom color
  7. };

(1)None 表示无背景,单击 "进度框“ 以外的区域可以将事件传递给下层(非模态)

(2)Clear 表示背景透明,阻塞 “进度框” 以外的事件传递(模态)


(3)Black 表示背景为黑色,阻塞 “进度框” 以外的事件传递(模态)


(4)Grad 表示背景为渐变色(中间白,四周黑),阻塞 “进度框” 以外的事件传递(模态)


(5)Cust 表示背景为红色,阻塞 “进度框” 以外的事件传递(模态)



文章来源: blog.csdn.net,作者:福州-司马懿,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/chy555chy/article/details/51777940

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。