博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MBProgressHUD 动画
阅读量:4880 次
发布时间:2019-06-11

本文共 2465 字,大约阅读时间需要 8 分钟。

  1.   // Update to indeterminate indicator  
  2.             [indicator removeFromSuperview];  
  3.             self.indicator = MB_AUTORELEASE([[UIActivityIndicatorView alloc]  
  4.                                              initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]);  
  5.             self.indicator = MB_AUTORELEASE([[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 70, 40)]);  
  6.             self.indicator.contentMode = UIViewContentModeScaleAspectFit;  
  7. //          [(UIActivityIndicatorView *)indicator startAnimating];  
  8.             [self addSubview:indicator];  
  9.               
  10.             for (int i=0; i<24; i++) {  
  11.                 [_loadingArray addObject:[UIImage imageNamed:[NSString stringWithFormat:@"loading_%d",i + 1]]];  
  12.             }  
  13.               
  14.               
  15.             //设置动画数组  
  16.             [(UIImageView *)self.indicator setAnimationImages:_loadingArray];  
  17.             //设置动画播放次数  
  18.             [(UIImageView *)self.indicator setAnimationRepeatCount:MAXFLOAT];  
  19.             //设置动画播放时间  
  20.             [(UIImageView *)self.indicator setAnimationDuration:1.5];  
  21.             //开始动画  
  22.             [(UIImageView *)self.indicator startAnimating];  

 

 

 

 

 

 

 

 

 

现在很多APP的HUD已经都是自定义动画了,MBProgressHUD没有开放的API可以让我们直接使用,需要到.m文件中去修改源码。

首先在.m文件中找到

- (void)updateIndicators

方法在

if (mode == MBProgressHUDModeIndeterminate) {}

中自定义动画,然后上代码:

 

[plain]   
 
 
  1. <span style="font-size:18px;">if (mode == MBProgressHUDModeIndeterminate) {  
  2.         if (!isActivityIndicator) {  
  3.             // Update to indeterminate indicator  
  4.             [indicator removeFromSuperview];  
  5.             self.indicator = MB_AUTORELEASE([[UIActivityIndicatorView alloc]  
  6.                                              initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]);  
  7.             self.indicator = MB_AUTORELEASE([[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 70, 40)]);  
  8.             self.indicator.contentMode = UIViewContentModeScaleAspectFit;  
  9. //          [(UIActivityIndicatorView *)indicator startAnimating];  
  10.             [self addSubview:indicator];  
  11.               
  12.             for (int i=0; i<24; i++) {  
  13.                 [_loadingArray addObject:[UIImage imageNamed:[NSString stringWithFormat:@"loading_%d",i + 1]]];  
  14.             }  
  15.               
  16.               
  17.             //设置动画数组  
  18.             [(UIImageView *)self.indicator setAnimationImages:_loadingArray];  
  19.             //设置动画播放次数  
  20.             [(UIImageView *)self.indicator setAnimationRepeatCount:MAXFLOAT];  
  21.             //设置动画播放时间  
  22.             [(UIImageView *)self.indicator setAnimationDuration:1.5];  
  23.             //开始动画  
  24.             [(UIImageView *)self.indicator startAnimating];  
  25.         }  
  26. #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 50000  
  27.         if ([indicator isKindOfClass:[UIActivityIndicatorView class]]) {  
  28.             [(UIActivityIndicatorView *)indicator setColor:self.activityIndicatorColor];  
  29.         }  
  30.           
  31. #endif  
  32.     }</span>  

感兴趣的朋友可以尝试一下

 

 

回复hhhh23456789:我是把_loadingArray放在MB初始化方法里面声明的

- (id)initWithView:(UIView *)view {
NSAssert(view, @"View must not be nil.");
_loadingArray = [NSMutableArray array];
return [self initWithFrame:view.bounds];
}

 

转载于:https://www.cnblogs.com/gzz2016/p/5672491.html

你可能感兴趣的文章
面试题07_用两个栈实现队列——剑指offer系列
查看>>
cocos2d-x3.2中加入Android手机震动
查看>>
css3处理sprite背景图压缩来解决H5网页在手机浏览器下图标模糊的问题
查看>>
温故而知新练习3
查看>>
【转】iOS应用崩溃日志分析
查看>>
EtherCAT Slave 入门教程 - 邮箱服务(1)
查看>>
java基础------抽象类
查看>>
【poj3537】 Crosses ans Crosses
查看>>
【poj1013】 Counterfeit Dollar
查看>>
Centos7 安装配置Apache+Mysql5.7+PHP7.0+phpmyadmin
查看>>
最佳调度问题
查看>>
10.04 FZSZ模拟Day1 总结
查看>>
RabbitMQ学习以及与Spring的集成(二)
查看>>
Go语言数据类型
查看>>
User Get 'Access Denied' with Excel Service WebPart
查看>>
C# 读取WAV文件(详细)
查看>>
web服务器,验证码,Xftp使用方法
查看>>
割点 - 模板
查看>>
Ubuntu 16.04.6 + Win10 双系统时间错误且不一致
查看>>
第三次作业——结对编程
查看>>