I'm starting to use UICOllectionview to load a custom photo album, the album loads just fine, and the data comes from my server (SQL-JSON-NSARRAY-NSDictionary) and the cell is filled in just fine, However, now I would like it when the user selects this cell to load new UIVIewController with this image in full size (so that they can view / print / share, etc.)
However, I am stuck in the prepare for segue method, since I cannot get any information out of this particular cell
as a test right now, I just want NSLOG to say: "User selected TITLE OF ALBUM% @"
Here is my code so far, any help would be greatly appreciated ...
#import "AlbumViewController.h"
#import "AlbumCustomCell.h"
#import "PhotosInAlbumsViewController.h"
@interface AlbumViewController ()
@end
@implementation AlbumViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *myURL1 = [ NSString stringWithFormat: @"http://mywebsiteaddress.com/index.php"];
NSData *data = [NSData dataWithContentsOfURL: [NSURL URLWithString:myURL1]];
NSError *error;
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSArray *items = [json objectForKey:@"users"];
photoalbumarray = items;
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
return 1;
}
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return [photoalbumarray count];
}
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
static NSString *cellID = @"CelliD";
AlbumCustomCell *myCell = (AlbumCustomCell *) [collectionView dequeueReusableCellWithReuseIdentifier:cellID forIndexPath:indexPath];
if (indexPath.section == 0) {
NSDictionary *item = [photoalbumarray objectAtIndex:[indexPath row]];
myCell.titleincell.text = [item objectForKey:@"title"];
teststring = [item objectForKey:@"title"];
myCell.dateincell.text = [item objectForKey:@"date"];
myCell.imageincell2.image = [UIImage imageNamed:[item objectForKey:@"img2"]];
myCell.imageincell3.image = [UIImage imageNamed:[item objectForKey:@"img3"]];
NSString *picture1 = [item objectForKey:@"img1"];
NSURL *imageURL1 = [NSURL URLWithString:picture1];
NSData * imageData1 = [NSData dataWithContentsOfURL:imageURL1];
UIImage * image1 = [UIImage imageWithData:imageData1];
myCell.imageincell1.image = image1;
myCell.imageincell1.alpha = 0.0;
[UIView animateWithDuration:1.5 animations:^{
myCell.imageincell1.alpha = 1.0;
}];
NSString *picture2 = [item objectForKey:@"img2"];
NSURL *imageURL2 = [NSURL URLWithString:picture2];
NSData * imageData2 = [NSData dataWithContentsOfURL:imageURL2];
UIImage * image2 = [UIImage imageWithData:imageData2];
myCell.imageincell2.image = image2;
myCell.imageincell2.alpha = 0.0;
[UIView animateWithDuration:1.5 animations:^{
myCell.imageincell2.alpha = 1.0;
}];
NSString *picture3 = [item objectForKey:@"img3"];
NSURL *imageURL3 = [NSURL URLWithString:picture3];
NSData * imageData3 = [NSData dataWithContentsOfURL:imageURL3];
UIImage * image3 = [UIImage imageWithData:imageData3];
myCell.imageincell3.image = image3;
myCell.imageincell3.alpha = 0.0;
[UIView animateWithDuration:1.5 animations:^{
myCell.imageincell3.alpha = 1.0;
}];
}
return myCell;
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"showPhotoAlbum"]) {
NSLog(@"Prepare for Segue to load Specific Photo Album");
NSLog(@"User Selected this cell or the name of the title in the cell which comes from a NSDictionary =>");
}
}
@end
JSON , ,
2012-10-01 13:02:53.856 CB Photo[3957:907] (
{
date = "2012-10-01 07:23:01";
id = 1;
img1 = "http://b2fdev.ca/demo/CBPhoto/pic1.jpg";
img2 = "http://b2fdev.ca/demo/CBPhoto/pic2.jpg";
img3 = "http://b2fdev.ca/demo/CBPhoto/pic3.jpg";
title = "Paul and Jenna Wedding 2012";
},
{
date = "2012-10-01 05:23:23";
id = 2;
img1 = "http://core1.ca/wp-content/themes/custom-community/images/block4.png";
img2 = "http://core1.ca/wp-content/themes/custom-community/images/block3.png";
img3 = "http://core1.ca/wp-content/themes/custom-community/images/block2.png";
title = "Core 1";
}
)