Raja
Raja

Reputation: 61

UIcollectionView Reload ovelaps in ios 7

I'm using UICollectionview in my app when i reload that it overlaps the subviews in uicollectionviewcell in ios 7 but in ios 6 it works fine, any one knows what could be the reason and how to solve this issues.

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    UICollectionViewCell *cell=[collectionView dequeueReusableCellWithReuseIdentifier:@"cellIdentifier" forIndexPath:indexPath];
    dispatch_async(dispatch_get_main_queue(), ^{
            if ([self.collectionviewFlow.indexPathsForVisibleItems containsObject:indexPath]) {
                NSString *img_name=[NSString stringWithFormat:@"%@_thumb%d.png",self.VaritiesName,(int)indexPath.row+1];
                imageVw=[[UIImageView alloc]initWithImage:[UIImage imageNamed: img_name]];
                imageVw.frame=CGRectMake(10,10,100,100);
                [cell.contentView addSubview:imageVw];
            }
        });
    cell.backgroundColor=[UIColor clearColor];
    return cell;
}

Upvotes: 2

Views: 953

Answers (1)

user1673099
user1673099

Reputation: 3299

Try this way... & Let me know

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    UICollectionViewCell *cell=[collectionView dequeueReusableCellWithReuseIdentifier:@"cellIdentifier" forIndexPath:indexPath];
    dispatch_async(dispatch_get_main_queue(), ^{

      //  ********* Changed *******

       for (UIView *v in [cell.contentView subviews])
        [v removeFromSuperview];

     // ********** Changed **********
            if ([self.collectionviewFlow.indexPathsForVisibleItems containsObject:indexPath]) {
                NSString *img_name=[NSString stringWithFormat:@"%@_thumb%d.png",self.VaritiesName,(int)indexPath.row+1];
                imageVw=[[UIImageView alloc]initWithImage:[UIImage imageNamed: img_name]];
                imageVw.frame=CGRectMake(10,10,100,100);
                [cell.contentView addSubview:imageVw];
            }
        });
    cell.backgroundColor=[UIColor clearColor];
    return cell;
}

Upvotes: 2

Related Questions