104 lines
2.5 KiB
Objective-C
104 lines
2.5 KiB
Objective-C
//
|
|
// UMAssetsCollectionGrid.m
|
|
// UMCommunity
|
|
//
|
|
// Created by luyiyuan on 14/9/10.
|
|
// Copyright (c) 2014年 Umeng. All rights reserved.
|
|
//
|
|
|
|
#import "UMAssetsCollectionGrid.h"
|
|
#import "UMAssetsCollectionCheckMarkView.h"
|
|
#import "UMAssetsCollectionOverlayView.h"
|
|
|
|
#define kNUMBEROFGRIDSINROW 4
|
|
|
|
@interface UMAssetsCollectionGrid()
|
|
@property (nonatomic, strong) UIImageView *imageView;
|
|
@property (nonatomic, strong) UMAssetsCollectionOverlayView *overlayView;
|
|
@property (nonatomic, strong) UIImage *blankImage;
|
|
@end
|
|
|
|
@implementation UMAssetsCollectionGrid
|
|
|
|
- (id)initWithFrame:(CGRect)frame
|
|
{
|
|
self = [super initWithFrame:frame];
|
|
if (self) {
|
|
|
|
self.isSelected = NO;
|
|
|
|
|
|
self.backgroundColor = [UIColor brownColor];
|
|
// Create a image view
|
|
UIImageView *imageView = [[UIImageView alloc] initWithFrame:self.bounds];
|
|
imageView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
|
|
|
|
[self addSubview:imageView];
|
|
self.imageView = imageView;
|
|
}
|
|
return self;
|
|
}
|
|
|
|
- (void)setIsSelected:(BOOL)isSelected
|
|
{
|
|
_isSelected = isSelected;
|
|
// Show/hide overlay view
|
|
if (isSelected) {
|
|
[self showOverlayView];
|
|
} else {
|
|
[self hideOverlayView];
|
|
}
|
|
}
|
|
|
|
- (void)showOverlayView
|
|
{
|
|
[self hideOverlayView];
|
|
|
|
UMAssetsCollectionOverlayView *overlayView = [[UMAssetsCollectionOverlayView alloc] initWithFrame:self.bounds];
|
|
overlayView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
|
|
|
|
[self addSubview:overlayView];
|
|
self.overlayView = overlayView;
|
|
}
|
|
|
|
- (void)hideOverlayView
|
|
{
|
|
if (self.overlayView) {
|
|
[self.overlayView removeFromSuperview];
|
|
self.overlayView = nil;
|
|
}
|
|
}
|
|
|
|
- (void)setAsset:(ALAsset *)asset
|
|
{
|
|
_asset = asset;
|
|
|
|
// Update view
|
|
CGImageRef thumbnailImageRef = [asset thumbnail];
|
|
|
|
if (thumbnailImageRef) {
|
|
self.imageView.image = [UIImage imageWithCGImage:thumbnailImageRef];
|
|
} else {
|
|
self.imageView.image = [self blankImage];
|
|
}
|
|
}
|
|
|
|
- (UIImage *)blankImage
|
|
{
|
|
if (_blankImage == nil) {
|
|
CGSize size = CGSizeMake(100.0, 100.0);
|
|
UIGraphicsBeginImageContextWithOptions(size, NO, 0.0);
|
|
|
|
[[UIColor colorWithWhite:(240.0 / 255.0) alpha:1.0] setFill];
|
|
UIRectFill(CGRectMake(0, 0, size.width, size.height));
|
|
|
|
_blankImage = UIGraphicsGetImageFromCurrentImageContext();
|
|
|
|
UIGraphicsEndImageContext();
|
|
}
|
|
|
|
return _blankImage;
|
|
}
|
|
|
|
@end
|