したがって、UIImage を ImagePickerController から NSMutableArray に保存した後、画像を UICollectionView にロードしたいのですが、配列が nil でなくても、セルには何も表示されません。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
[_imgs addObject:image];
[picker dismissModalViewControllerAnimated:YES];
[self.collectionView reloadData];
NSLog(@"%d", [_imgs count]);
//[self viewDidLoad];
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
Icon *icon = [collectionView dequeueReusableCellWithReuseIdentifier:@"ICON" forIndexPath:indexPath];
UIImageView *recipeImageView = (UIImageView *)[icon viewWithTag:100];
recipeImageView.image = [UIImage imageNamed:[self.imgs objectAtIndex:indexPath.row]];
icon.image = (UIImage*)[self.imgs objectAtIndex:indexPath.row];
[icon.deleteButton addTarget:self action:@selector(delete:) forControlEvents:UIControlEventTouchUpInside];
return icon;
}
@implementation Icon
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self)
{
UIView *insetView = [[UIView alloc] initWithFrame:CGRectInset(self.bounds, 300,
400)];
self.image = [[UIImage alloc]init];
UIImageView *img =[[UIImageView alloc]initWithImage:self.image];
[self.contentView addSubview:insetView];
[insetView addSubview:img];
self.layer.shouldRasterize = YES;
}
}
セルをラップする ICON クラスというクラスを作成しました。