获取imageView在UICollectionView的单元格上的位置

时间:2015-03-09 15:37:45

标签: objective-c uicollectionview

我有一个自定义单元格的UICollectionView,它有一些标签和一个图像,我需要得到图像所在的位置,以便在其上面放置一个蒙版,我尝试使用以下代码但是每个蒙版都应用于第一个细胞的顶部。 这是我使用的代码:

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
    CollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:reuseIdentifier forIndexPath:indexPath];

    UIView *darken = [[UIView alloc]init];
    darken.frame = cell.img.frame;

    darken.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.4];
    [collectionView insertSubview:darken aboveSubview:cell.img];

    return cell;
}

如何获取单元格上每个图像的帧位置?

1 个答案:

答案 0 :(得分:0)

更改您的代码以创建一个视图。

@define IMAGE_TAG 9999

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
    CollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:reuseIdentifier forIndexPath:indexPath];

    if (![cell viewWithTag:IMAGE_TAG])
    {
          UIView *darken = [[UIView alloc]init];
          darken.frame = cell.img.frame;
          [darken setTag:IMAGE_TAG];
          darken.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.4];
          [cell insertSubview:darken aboveSubview:cell.img];
    }



    return cell;
}