如何与此行为一起删除集合视图单元格?

时间:2018-10-19 14:37:31

标签: ios swift xcode

enter image description here

我正在使用以下代码。此代码只是通过使集合视图单元褪色并将其下方的其余部分向上移动来删除它们。我不确定如何制作动画。非常感谢您的帮助。

func remove()
    {
        totalItems -= 1
        data.remove(at: itemIdValue)
        collectionView.deleteItems(at: [indexPathValue])
    }


func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
   let cell = collectionView.cellForItem(at: indexPath) as? InviteTasker1CellView
    cell.invitationSent()
    indexPathValue = indexPath
    itemIdValue = indexPath.item
    remove()
   }

也许使用Table view可以做得更好,但是我不确定解决方案。

请帮助我了解您将如何做?非常感谢。

1 个答案:

答案 0 :(得分:0)

UICollectionView和UITableView创建一个默认动画,这是从其中删除单元格时想要的动画。 虽然,由于仅使用一列,所以建议您使用UITableView而不是UICollectionView。 要从带有动画的表格视图中删除一行,请执行以下操作:

self.yourDataSourceArray.removeValue(at: self.indexPath.row)
self.tableView?.deleteRows(at: [self.indexPath], with: UITableViewRowAnimation.automatic)

如果您仍然想使用UICollectionView,请按以下步骤操作:

override func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
    self.yourDataSourceArray.remove(at: indexPath.row)
    collectionView.deleteItems(at: [indexPath])
}