博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
封装 加载loading动画
阅读量:5267 次
发布时间:2019-06-14

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

#import <UIKit/UIKit.h>

 @interface SSLoading : UIView

 - (instancetype)initWithFrame:(CGRect)frame;

- (void)showLoading:(UIColor *)backgroundColor alpha:(CGFloat)alpha;

-(void)disMiss;

 @end

 

 

#import "SSLoading.h"

#import "UIImage+GIF.h"

 

 

@implementation SSLoading

{

    UIView *SSLoadingBackView;

    UIImageView *SSLoadingImageView;

}

- (instancetype)initWithFrame:(CGRect)frame

{

    self = [super initWithFrame:frame];

    if (self) {

        self.hidden = YES;

        self.frame = frame;

    }

    return self;

 

}

 

- (void)showLoading:(UIColor *)backgroundColor alpha:(CGFloat)alpha

{

    

    self.hidden = NO;

    

    SSLoadingBackView = [[UIView alloc] initWithFrame:self.frame];

    SSLoadingBackView.backgroundColor = backgroundColor;

    SSLoadingBackView.alpha = alpha;

    [self addSubview:SSLoadingBackView];

    

    NSString  *name = @"loading@2x.gif";

    NSString  *filePath = [[NSBundle bundleWithPath:[[NSBundle mainBundle] bundlePath]] pathForResource:name ofType:nil];

    NSData  *imageData = [NSData dataWithContentsOfFile:filePath];

    if (!SSLoadingImageView) {

        SSLoadingImageView = [[UIImageView alloc]init];

    }

    

    SSLoadingImageView.backgroundColor = [UIColor clearColor];

    SSLoadingImageView.image = [UIImage sd_animatedGIFWithData:imageData];

    SSLoadingImageView.frame = CGRectMake(self.frame.size.width/2-50, self.frame.size.height/2-50, 100, 100);

    SSLoadingImageView.contentMode = UIViewContentModeScaleAspectFit;

    [self addSubview:SSLoadingImageView];

}

 

-(void)disMiss

{

    

    for (UIView *view in self.subviews) {

        [view removeFromSuperview];

    }

    self.hidden = YES;

}

转载于:https://www.cnblogs.com/xiaolingling1126/p/5485062.html

你可能感兴趣的文章
jQuery火箭图标返回顶部代码
查看>>
Python爬虫正则表达式常用符号和方法
查看>>
MYSQL 总结——1
查看>>
通过FTP无法删除文件
查看>>
Wannafly挑战赛1 C MMSet2 虚树
查看>>
Linux进程间通信方式--信号,管道,消息队列,信号量,共享内存
查看>>
PHP,JAVA,NET 开发比较
查看>>
简单的介绍自己
查看>>
JavaScript归并方法reduce()和reduceRight()
查看>>
js 循环BUG
查看>>
九、数组以及排序和查找
查看>>
gym-101343B-So You Think You Can Count?
查看>>
每周总结15
查看>>
OpenCV_用鼠标在窗口画方形
查看>>
POJ1221(整数划分)
查看>>
测试用例总结篇(一)
查看>>
查看Linux内核版本命令
查看>>
Cesium几个案例介绍
查看>>
javascript面向对象一:函数
查看>>
Firebird 数据库使用经验总结
查看>>