2013-03-08 66 views
1

我一直在處理大量的代碼LXReorderableCollectionViewFlowLayout(由Stan Chang Khin Boon編寫)。它允許在UICollectionView中移動項目。我有一個包含多個部分的集合視圖。這些部分正在使用一個包含多個控件的標題。我允許用戶創建空白部分並將項目拖到這些部分中UICollectionView移動到空白區域時沒有給出正確的索引路徑

我使用集合視圖來顯示多張照片相冊。每個部分都與不同的專輯相關聯。將照片從「專輯1」拖動到「專輯2」時,每張專輯中都有項目可以正常工作。

但是,如果專輯(部分)爲空,則無法將對象移動到該空白部分。

我認爲問題出在「indexPathForItemAtPoint」。如果該部分包含項目,則此方法提供正確的NSIndexPath。但是如果它是空的,它總是返回section = 0,row = 0。

當我從區段「0」跨越邊界到區段「1」時,NSIndexPath的theIndexPathOfSelectedItem變爲0,0(區段,行)。我預計它會達到1.0。

該問題似乎與「indexPathForItemAtPoint」。它沒有考慮到該部分可能是空的,並且當我將邊界跨越到不同的(和空的)部分時,默認爲0,0。

就像我之前說過的,如果在「1」部分已經有條目,那麼indexPath設置正確。

關於我在做什麼錯的任何想法?

回答

1

我最終放置了一個虛擬(但不可見)項目的空白部分。當我創建一個新的部分時,我在該部分中放置了一個虛擬值。我使它看不見,所以它不顯示。任何時候我添加一個新項目,或者從我測試的部分中刪除一個項目,以確保虛擬物品在那裏。

重要提示:如果該部分中至少有一個實體項目,則刪除虛擬值。否則,收集列表會嘗試繪製它。

我確信有這樣做的更好方法。如果你知道如何,請發佈一個新的答案。

希望這會有所幫助。

相關問題