122 lines
3.1 KiB
Objective-C
122 lines
3.1 KiB
Objective-C
//
|
|
// UMComImageView.m
|
|
// UMCommunity
|
|
//
|
|
// Created by Gavin Ye on 5/6/15.
|
|
// Copyright (c) 2015 Umeng. All rights reserved.
|
|
//
|
|
|
|
#import "UMComImageView.h"
|
|
#import "UMComResouceDefines.h"
|
|
|
|
@interface UMComImageView ()
|
|
|
|
@property (nonatomic ,copy) Class imageViewClass;
|
|
|
|
@end
|
|
|
|
@implementation UMComImageView
|
|
|
|
static UMComImageView *_instance = nil;
|
|
+ (UMComImageView *)shareInstance {
|
|
@synchronized (self) {
|
|
if (_instance == nil) {
|
|
_instance = [[self alloc] init];
|
|
}
|
|
}
|
|
|
|
return _instance;
|
|
}
|
|
|
|
+ (Class)imageViewClassName
|
|
{
|
|
Class returnClass = [self class];
|
|
if ([self shareInstance].imageViewClass) {
|
|
returnClass = [self shareInstance].imageViewClass;
|
|
}
|
|
return returnClass;
|
|
}
|
|
|
|
+ (void)registUMImageView:(Class)imageViewClass
|
|
{
|
|
[self shareInstance].imageViewClass = imageViewClass;
|
|
}
|
|
|
|
+ (UIImage *)placeHolderImageGender:(NSInteger )gender
|
|
{
|
|
UIImage *placeHolder = nil;
|
|
if (gender == 0) {
|
|
placeHolder = UMComImageWithImageName(@"female");
|
|
} else{
|
|
placeHolder = UMComImageWithImageName(@"male");
|
|
}
|
|
return placeHolder;
|
|
}
|
|
|
|
|
|
- (void)setImageURL:(NSString *)imageURLString placeHolderImage:(UIImage *)placeHolderImage
|
|
{
|
|
if (imageURLString) {
|
|
NSURL *url = [NSURL URLWithString:imageURLString];
|
|
[super setImageURL:url];
|
|
if (!self.isCacheImage) {
|
|
self.placeholderImage = placeHolderImage;
|
|
[self startImageLoad];
|
|
}
|
|
} else {
|
|
self.placeholderImage = placeHolderImage;
|
|
}
|
|
}
|
|
|
|
- (void)setImageURLString:(NSString *)imageURLString
|
|
{
|
|
if (imageURLString) {
|
|
NSURL *url = [NSURL URLWithString:imageURLString];
|
|
[super setImageURL:url];
|
|
if (!self.isCacheImage) {
|
|
[self startImageLoad];
|
|
}
|
|
}
|
|
}
|
|
|
|
-(instancetype)initWithFrame:(CGRect)frame
|
|
{
|
|
self = [super initWithFrame:frame];
|
|
if (self) {
|
|
self.isAutoStart = NO;
|
|
self.delegate = self;
|
|
}
|
|
return self;
|
|
}
|
|
|
|
|
|
|
|
- (void)imageViewLoadedImageSizePercent:(float)percent imageView:(UMImageView*)imageView
|
|
{
|
|
if (self.imageLoaderDelegate && [self.imageLoaderDelegate respondsToSelector:@selector(umcomImageViewLoadedImageSizePercent:imageView:)]) {
|
|
[self.imageLoaderDelegate umcomImageViewLoadedImageSizePercent:percent imageView:self];
|
|
}
|
|
if (self.loadedImageSizePercentBlock) {
|
|
self.loadedImageSizePercentBlock(self,percent);
|
|
}
|
|
}
|
|
- (void)imageViewLoadedImage:(UMImageView*)imageView
|
|
{
|
|
if (self.imageLoaderDelegate && [self.imageLoaderDelegate respondsToSelector:@selector(umcomImageViewLoadedImage:)]) {
|
|
[self.imageLoaderDelegate umcomImageViewLoadedImage:self];
|
|
}
|
|
if (self.loadedImageBlock) {
|
|
self.loadedImageBlock(self);
|
|
}
|
|
}
|
|
- (void)imageViewFailedToLoadImage:(UMImageView*)imageView error:(NSError*)error
|
|
{
|
|
if (self.imageLoaderDelegate && [self.imageLoaderDelegate respondsToSelector:@selector(umcomImageViewFailedToLoadImage:error:)]) {
|
|
[self.imageLoaderDelegate umcomImageViewFailedToLoadImage:self error:error];
|
|
}
|
|
if (self.loadImageFailedBlock) {
|
|
self.loadImageFailedBlock(self,error);
|
|
}
|
|
}
|
|
@end
|