我有一个 UICollectionView,我想在一个单元格中显示一个图像,它转到一个普通的 ViewController。我怎么做?

Posted

技术标签:

【中文标题】我有一个 UICollectionView,我想在一个单元格中显示一个图像,它转到一个普通的 ViewController。我怎么做?【英文标题】:I have a UICollectionView and i want to show an image in a Cell, that goes to a normal ViewController. How do i do that? 【发布时间】:2013-02-26 14:39:35 【问题描述】:

我有一个 UICollectionViewController(带有一个导航控制器),我想在一个单元格中显示一个图像,该图像“推”到一个普通的 ViewController(每个图像都不同)。我该怎么做?

【问题讨论】:

【参考方案1】:

您似乎想通过 UICollectionView 构建照片库。 如果使用storyBoard,使用segue

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

    if ([[segue identifier] isEqualToString:@"showDetail"])
    
        NSIndexPath *selectedIndexPath = [[self.collectionView indexPathsForSelectedItems] objectAtIndex:0];

        // load the image, to prevent it from being cached we use 'initWithContentsOfFile'
        NSString *imageNameToLoad = [NSString stringWithFormat:@"%d_full", selectedIndexPath.row];
        NSString *pathToImage = [[NSBundle mainBundle] pathForResource:imageNameToLoad ofType:@"JPG"];
        UIImage *image = [[UIImage alloc] initWithContentsOfFile:pathToImage];

        DetailViewController *detailViewController = [segue destinationViewController];
        detailViewController.image = image;
    

如果使用 nib: 在 didSelectItemAtIndexPath 中,使用 self.navigationController push。

-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
    NSString *imageNameToLoad = [NSString stringWithFormat:@"%d_full", indexPath.row];
    NSString *pathToImage = [[NSBundle mainBundle] pathForResource:imageNameToLoad ofType:@"JPG"];
    UIImage *image = [[UIImage alloc] initWithContentsOfFile:pathToImage];
    DetailViewController *detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
    detailViewController.image = image;
    [self.navigationController pushViewController:detailViewController animated:YES];

来自 Apple 的示例代码: https://developer.apple.com/library/ios/#samplecode/CollectionView-Simple/Introduction/Intro.html

CollecionView 教程:http://www.raywenderlich.com/22324/beginning-uicollectionview-in-ios-6-part-12

【讨论】:

以上是关于我有一个 UICollectionView,我想在一个单元格中显示一个图像,它转到一个普通的 ViewController。我怎么做?的主要内容,如果未能解决你的问题,请参考以下文章

UICollectionView 间距边距

在 UICollectionView 中搜索和过滤单元格

如何在 UICollectionView 中快速添加分页?

UICollectionView 每行显示 3 个项目

将 UICollectionView 添加到 UIView

我想在所有 iphone 型号的 uicollectionview 中的一行中显示两个单元格