iOS:CollectionView,图像错误

时间:2013-12-24 01:37:55

标签: ios objective-c uiimageview uicollectionview uicollectionviewcell

我在我的视图上创建了一个Collection View,现在我正在尝试在单元格上插入一个图像: 但是,屏幕保持黑色。 我看到代码:UIImageView *imageView = (UIImageView *)[cell viewWithTag:100];正在返回nil。有什么问题?

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath; {
    static NSString *identifier = @"Cell";
    UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];

    UIImageView *imageView = (UIImageView *)[cell viewWithTag:100];
    imageView.image = [UIImage imageNamed:@"ic_see_on_map.png"];

    return cell;

     }

2 个答案:

答案 0 :(得分:1)

您在单元格XIB中将UICollectionViewCellUIImageView'标记设置为100。然后UIImageView *imageView = (UIImageView *)[cell viewWithTag:100];将返回UICollectionViewCell。然后将UICollectionViewCell对象强制转换为UIImageView对象。那就是问题所在。您需要将UICollectionViewCell的标记重置为0或不是100。然后,您可以获得标记为100的UIImageView

答案 1 :(得分:1)

为什么不使用cellForItemAtIndexPath提取单元格,然后遍历其层次结构以进行imageview。不建议使用标记,因为多个单元格的图像视图将获得相同的标记值,这使得viewWithTag无效。其次你说屏幕保持黑色,你能看到任何集合视图的细胞吗?因为它意味着你的集合视图本身没有被实例化。要重置标记,请转到nib并将tag属性设置为0。