mirror of
https://github.com/HackPlan/AsyncDisplayKit.git
synced 2026-03-29 08:39:00 +08:00
72 lines
1.4 KiB
Objective-C
72 lines
1.4 KiB
Objective-C
//
|
|
// PhotoCollectionViewCell.m
|
|
// Flickrgram
|
|
//
|
|
// Created by Hannah Troisi on 3/2/16.
|
|
// Copyright © 2016 Hannah Troisi. All rights reserved.
|
|
//
|
|
|
|
#import "PhotoCollectionViewCell.h"
|
|
#import "PINImageView+PINRemoteImage.h"
|
|
#import "PINButton+PINRemoteImage.h"
|
|
|
|
@implementation PhotoCollectionViewCell
|
|
{
|
|
UIImageView *_photoImageView;
|
|
}
|
|
|
|
|
|
#pragma mark - Lifecycle
|
|
|
|
- (instancetype)initWithFrame:(CGRect)frame
|
|
{
|
|
self = [super initWithFrame:frame];
|
|
|
|
if (self) {
|
|
|
|
_photoImageView = [[UIImageView alloc] init];
|
|
[_photoImageView setPin_updateWithProgress:YES];
|
|
[self.contentView addSubview:_photoImageView];
|
|
|
|
// tap gesture recognizer
|
|
UITapGestureRecognizer *tgr = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(cellWasTapped:)];
|
|
[self addGestureRecognizer:tgr];
|
|
}
|
|
|
|
return self;
|
|
}
|
|
|
|
- (void)layoutSubviews
|
|
{
|
|
[super layoutSubviews];
|
|
|
|
_photoImageView.frame = self.bounds;
|
|
}
|
|
|
|
- (void)prepareForReuse
|
|
{
|
|
[super prepareForReuse];
|
|
|
|
// remove images so that the old content doesn't appear before the new content is loaded
|
|
_photoImageView.image = nil;
|
|
}
|
|
|
|
|
|
#pragma mark - Instance Methods
|
|
|
|
- (void)updateCellWithPhotoObject:(PhotoModel *)photo
|
|
{
|
|
// async download of photo using PINRemoteImage
|
|
[_photoImageView pin_setImageFromURL:photo.URL];
|
|
}
|
|
|
|
|
|
#pragma mark - Gesture Handling
|
|
|
|
- (void)cellWasTapped:(UIGestureRecognizer *)sender
|
|
{
|
|
NSLog(@"Photo was tapped");
|
|
}
|
|
|
|
@end
|