0

私は水平スクロール可能なUICollectionViewを持っていますが、UICollectionViewFlowLayoutを使って水平方向を設定しています。UICollectionViewCell overlapping

私が使用して、細胞のいずれかを削除する -

[self.collectionView deleteItemsAtIndexPaths:selectedItemsIndexPaths]; 

を私は以下に示すように裏面(上記セルが削除されたときに表示されていない)第UICollectionViewCellにスクロール上の第2 UICollectionViewCellと重なることに気づきます

enter image description here

時々の代わりに、それを重ねるように終わる -

enter image description here

マイcellForItemAtIndexPathがどのように見える -

ABCollectionViewCell *cell = (ABCollectionViewCell *)[cv dequeueReusableCellWithReuseIdentifier:@"abCell" forIndexPath:indexPath]; 

    cell.name.text = [self.categoryArray objectAtIndex:indexPath.row]; 
    cell.contactButton.tag = indexPath.row; 

    cell.layer.cornerRadius = 5.0; 
    cell.layer.borderColor = [UIColor lightGrayColor].CGColor; 
    cell.layer.borderWidth = 1.0; 
    cell.clipsToBounds = YES; 

    return cell; 

私はすべてオンライン同様の問題の解決策を試してみましたが、それらのどれも働いているように見えません。どんな助けもありがとう。

UICollectionViewFlowLayout -

UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init]; 
[flowLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal]; 
flowLayout.estimatedItemSize = CGSizeMake(102.0, 102.0); 
flowLayout.minimumLineSpacing = 6.0f; 
flowLayout.minimumInteritemSpacing = 2.0f; 
[self.collectionView setCollectionViewLayout:flowLayout]; 

答えて

0

使用

func collectionView(_ collectionView: UICollectionView, 
         layout collectionViewLayout: UICollectionViewLayout, 
     insetForSectionAtIndex section: Int) -> UIEdgeInsets { 
return UIEdgeInsets(top: 0, left: 10, bottom: 0, right: 10) 
} 
+0

のように削除を実行し、この機能ねえ、私はこれを試してみましたが、それは私が編集したことを確認してください:( –

+0

を働いていない私回答 –

+0

まだ動作していません –

0

この

[self.collectionView performBatchUpdates:^{ 
    [self.collectionView deleteItemsAtIndexPaths:selectedItemsIndexPaths]; 
} completion:^{ 
    [self.collectionView layoutIfNeeded]; 
}]; 
+0

試してみましたが動作していません:( –

+0

あなたのCollectionViewFlowLayoutコードを共有できますか? – Subash

+0

質問にコードを追加しました –