将图像设置为集合单元格

时间:2014-05-30 21:07:55

标签: ios objective-c uicollectionviewcell

我试图将图像作为集合视图单元格,几乎就是这样。没有花哨的东西,只有图像本身,而且,至少调整到细胞大小。

我正在做的事情甚至没有编译,即使我感到非常自信。

背景: 集合视图是一个带有所需图像的运动列表。单元格实际上包含图像和字符串(运动的标题),并且是另一页面的segue。我不需要这个特定的页面是动态的,我实际上会输入所有的运动并自己放置图像,因为我不需要太多而且不会被编辑。 / p>

集合视图称为typeCollection,位于.h中(因此代码中为_) MyEvent.typePictures是'事件'持有图像数组的对象' typePictures'。

这是我在Event类中的图片数组:

    _typePictures = [[NSMutableArray alloc]initWithObjects:
                                          [UIImage imageNamed:@"climbing.jpg"],
                                          [UIImage imageNamed:@"skydiving.jpg"],
                                          [UIImage imageNamed:@"running.jpg"], 
                                          [UIImage imageNamed:@"swimming.jpg"],
                                          nil];

这是我控制器中的单元格创建方法:

    -(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *cellIdentifier = @"cvCell";
    UICollectionViewCell *cell = [_typeCollection dequeueReusableCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath];
    UIImage *image = [[UIImage alloc]initWithContentsOfFile:[_MyEvent.typePictures objectAtIndex:indexPath.row]];
    UIImageView *imageView = [[UIImageView alloc]initWithImage:image];
    cell.backgroundView = imageView;


    return cell;

}

它停止在UIImage *image行进行编译,并在日志中提供此错误:

  

- [UIImage pathExtension]:无法识别的选择器发送到实例0xa4b4440 2014-05-30 13:55:55.344 ApiSport [2580:60b] * 终止   应用程序由于未捕获的异常' NSInvalidArgumentException',原因:   ' - [UIImage pathExtension]:发送到实例的无法识别的选择器   0xa4b4440'

另外,如果我移除return cell;上方的3行,一切都编译得很好,但我显然没有显示我的图像(我只是手动设置了基本的粉红色背景)

我希望我给出足够的解释!这就是我正在寻找的东西

  • 为什么它不起作用
  • 如果可能的话,我应该做些什么才能使其发挥作用

非常感谢您的时间:)

1 个答案:

答案 0 :(得分:1)

要获得正确的图像,您只需要

  

UIImage * image = _typePictures [indexPath.row];