Initial commit

This commit is contained in:
ifish
2017-08-15 16:59:01 +08:00
commit bdc83e07ef
5766 changed files with 423223 additions and 0 deletions
@@ -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
@@ -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
@@ -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
@@ -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