我在集合视图中显示图像。当我选择特定单元格时,详细图像将显示在另一个viewcontroller中。委托方法是didSelectItemAtIndexPath。请帮帮我。
recipeImages = [NSArray arrayWithObjects:@"img2.png", @"img.png", @"img1.png", @"img3.png", @"img4.png", @"img5.png", @"img6.png", @"img7.png", nil];
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView1 cellForItemAtIndexPath:(NSIndexPath *)indexPath{
static NSString *identifier = @"Cell";
CustomCell *cell = (CustomCell *)[collectionView1 dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];
[cell.imageView setImage:[UIImage imageNamed:[recipeImages objectAtIndex:indexPath.row]]];
return cell;
}
答案 0 :(得分:0)
检查以下代码:
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
NSString *senderImg=[recipeImages objectAtIndex:indexPath.item];
NextViewController *next = [[NextViewController alloc] initWithNibName:@"NextViewController" bundle:nil];
next.receivedImage=senderImg;
[self presentModalViewController:next animated:NO];
}
NextViewController.h
@property(nonatomic,retain)NSString *receivedImage;
NextViewController.m
@syntosize receivedImage;
-(void)viewDidLoad
{
UIImage imageDispay=[UIImage imageNamed:receivedImage];
}
答案 1 :(得分:0)
检查以下代码:
- (void)collectionView:(UICollectionViewCell *)collectionView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
DetailViewController *detailVC = [[DetailViewController alloc] initWithNibName:@"MyCell" bundle:[NSBundle mainBundle]];
detailVC.img= [recipeImages objectAtIndex: indexPath.row];
[self presentViewController:detailVC animated:YES completion:nil];
}