2013-11-15 66 views
3

我有一個基本的UICollectionView和項目的基本列表。我已經在項目上實現了刪除按鈕,以便用戶可以刪除其中的一些。除了物品正在被刪除時的重新排列之外,一切都很好。UICollection視圖刪除項目重新排列奇怪的動畫

如果您刪除了項目N-1,它會直觀地刪除列表中的第一個,將最後一個移動到第一個位置並「重新使用所有單元格」以設置正確的內容。

基本上,我會期待它將最後一個移動到N-1項目。 注意:這種預期的行爲發生在我有一行和兩個項目時,這讓我相信我以某種方式做對了。

的問題是:

  • 這是刪除對象時的標準行爲的集合觀點?
  • 如何在不重寫整個事件的情況下快速修復它?

回答

2

我想通了這個問題。它發生在我發佈了一個deleteItemAtIndexPath之後的通知,它實際上調用了一個調用collectionView reloadData的setter。這個reloadData不應該在這個階段被調用,所以我修復了它,它像一個魅力。

因此,如果您有有趣的動畫,請確保您沒有以某種方式調用reloadData。