collectionView didSelectItemAtIndexPath发送图像

时间:2014-09-08 09:20:03

标签: ios objective-c iphone uicollectionview uicollectionviewcell

我在集合视图中显示图像。当我选择特定单元格时,详细图像将显示在另一个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;
}

2 个答案:

答案 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];

  }