Initial commit
This commit is contained in:
+20
@@ -0,0 +1,20 @@
|
||||
//
|
||||
// UMComAvatarImageView.h
|
||||
// UMCommunity
|
||||
//
|
||||
// Created by umeng on 16/5/18.
|
||||
// Copyright © 2016年 Umeng. All rights reserved.
|
||||
//
|
||||
|
||||
#import "UMComImageView.h"
|
||||
|
||||
@class UMComUser;
|
||||
|
||||
@interface UMComAvatarImageView : UMComImageView
|
||||
|
||||
+ (UMComAvatarImageView *)filletAvatarWithFrame:(CGRect)frame;
|
||||
|
||||
- (void)resetAvatarWithUser:(UMComUser *)user;
|
||||
|
||||
|
||||
@end
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
//
|
||||
// UMComAvatarImageView.m
|
||||
// UMCommunity
|
||||
//
|
||||
// Created by umeng on 16/5/18.
|
||||
// Copyright © 2016年 Umeng. All rights reserved.
|
||||
//
|
||||
|
||||
#import "UMComAvatarImageView.h"
|
||||
#import <UMComDataStorage/UMComUser.h>
|
||||
#import <UMComDataStorage/UMComImageUrl.h>
|
||||
|
||||
@implementation UMComAvatarImageView
|
||||
|
||||
/*
|
||||
// Only override drawRect: if you perform custom drawing.
|
||||
// An empty implementation adversely affects performance during animation.
|
||||
- (void)drawRect:(CGRect)rect {
|
||||
// Drawing code
|
||||
}
|
||||
*/
|
||||
|
||||
+ (UMComAvatarImageView *)filletAvatarWithFrame:(CGRect)frame
|
||||
{
|
||||
UMComAvatarImageView *imageView = [[UMComAvatarImageView alloc] init];
|
||||
imageView.frame = frame;
|
||||
imageView.clipsToBounds = YES;
|
||||
imageView.userInteractionEnabled = YES;
|
||||
imageView.layer.cornerRadius = frame.size.width/2;
|
||||
return imageView;
|
||||
}
|
||||
|
||||
- (void)resetAvatarWithUser:(UMComUser *)user
|
||||
{
|
||||
NSString *iconString = [user iconUrlStrWithType:UMComIconSmallType];
|
||||
UIImage *placeHolderImage = [UMComImageView placeHolderImageGender:[user.gender integerValue]];
|
||||
[self setImageURL:iconString placeHolderImage:placeHolderImage];
|
||||
}
|
||||
|
||||
- (void)layoutSubviews
|
||||
{
|
||||
[super layoutSubviews];
|
||||
self.layer.cornerRadius = self.frame.size.width/2;
|
||||
}
|
||||
|
||||
@end
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
//
|
||||
// UMComImageView.h
|
||||
// UMCommunity
|
||||
//
|
||||
// Created by Gavin Ye on 5/6/15.
|
||||
// Copyright (c) 2015 Umeng. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UMComFoundation/UMImageView.h>
|
||||
|
||||
@class UMComImageView;
|
||||
@protocol UMComImageViewDelegate <NSObject>
|
||||
@optional
|
||||
- (void)umcomImageViewLoadedImage:(UMComImageView *)imageView;
|
||||
|
||||
- (void)umcomImageViewLoadedImageSizePercent:(float)percent imageView:(UMComImageView *)imageView;
|
||||
- (void)umcomImageViewFailedToLoadImage:(UMComImageView *)imageView error:(NSError*)error;
|
||||
@end
|
||||
|
||||
@interface UMComImageView : UMImageView<UMImageViewDelegate>
|
||||
|
||||
@property (nonatomic, weak) id<UMComImageViewDelegate> imageLoaderDelegate;
|
||||
|
||||
@property (nonatomic, copy) void (^loadedImageSizePercentBlock)(UMComImageView *imageView ,float percent);
|
||||
@property (nonatomic, copy) void (^loadedImageBlock)(UMComImageView *imageView);
|
||||
@property (nonatomic, copy) void (^loadImageFailedBlock)(UMComImageView *imageView, NSError *error);
|
||||
|
||||
+ (Class)imageViewClassName;
|
||||
|
||||
+ (void)registUMImageView:(Class)imageViewClass;
|
||||
|
||||
+ (UIImage *)placeHolderImageGender:(NSInteger )gender;
|
||||
|
||||
- (void)setImageURL:(NSString *)imageURLString placeHolderImage:(UIImage *)placeHolderImage;
|
||||
|
||||
- (void)setImageURLString:(NSString *)imageURLString;
|
||||
@end
|
||||
+121
@@ -0,0 +1,121 @@
|
||||
//
|
||||
// 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
|
||||
Reference in New Issue
Block a user