封装 加载loading动画

#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;

}

posted @ 2016-05-12 11:41  xiaolingling  阅读(386)  评论(0编辑  收藏  举报