删除节数据并重新加载UICollectionView后,节标题仍然存在

时间:2016-01-21 01:36:25

标签: ios swift uicollectionview uikit uicollectionreusableview

删除部分中的最后一项后,目标是从UICollectionView.删除整个部分,包括其标题。不幸的是,即使基础数据模型中没有部分,部分标题仍然存在。

刷新视图 - 通过从导航堆栈弹出并导航回视图 - 正确显示删除了部分标题的UICollectionView

在测试用例中,只有一个部分,因此删除最终项目后UICollectionView应该变为空白。

建议?

func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
    print("# sections: \(USER.getSections().count)")
    return USER.getSections().count
}

    // Delete item
    let indexPath = view.indexPathsForSelectedItems()![0]
    let section = USER.getSections()[indexPath.section]
    USER.removeItemAt(section, index: indexPath.row)
    view.deleteItemsAtIndexPaths([indexPath])

    // Update one section or entire view
    if (section.getNumItems() > 0) {
        view.reloadSections(NSIndexSet(index: indexPath.section))
    } else {
        view.deleteSections(NSIndexSet(index: indexPath.section))
        view.reloadSections(NSIndexSet(index: indexPath.section))
        view.reloadData()
    }

1 个答案:

答案 0 :(得分:1)

如果要从UICollectionView中删除某个部分,您必须:1。更新模型,2。在集合视图上调用deleteSections(sections: NSIndexSet) 3.确保numberOfSectionsInCollectionView返回适当数量的部分你的最新模型。