2015-09-06 113 views
0

我有一個平均大小的表格,除了行插入動畫(withRowAnimation)以外,它的功能都很完美。我已經覆蓋它(與社區的幫助下)有一個比原來的系統動畫更長的時間,它的工作原理很好,但...在Swift中沒有dequeueReusableCellWithIdentifier的自定義表格單元格

因爲我使用自定義單元格作爲可重複使用的單元格 - 每次我滾動這個效果正在被消滅。

所以我看到的唯一解決方案是停止重用。 我知道這會干擾內存,但在這種情況下,它是唯一的情況下(我知道)。

我的一般問題是如何加載自定義單元筆尖而不使用dequeueReusableCellWithIdentifier以便重複使用不會發生。

謝謝。

回答

-1

你應該使用dequeueReusableCellWithIdentifier,不使用它是一個災難的食譜。

看看你的代碼,當你退出一個單元(重用或不重用,大部分時間它會被重用),你應該做的第一件事就是將該單元中的所有元素都設置回原始狀態,以便重用的單元格像不重複使用的單元格那樣工作。

我不知道你怎麼動畫/實施是從一個項目,我與定製單元寫,但這裏一個例子:

在我添加按鈕每個細胞,這可能是1,2,3 ,. .. 鈕釦。如果我在重複使用的單元格中沒有做任何事情,我會得到比預期更多的按鈕,因爲舊按鈕仍然存在於... 因此,在我的代碼中,我在分離單元格後做的第一件事是刪除所有按鈕。

let cell = tableView.dequeueReusableCellWithIdentifier("RelatedCell") as! RelatedCell 
cell.removeAllActionButtons() 

在我的removeAllActionButtons(在我的自定義單元格的方法)方法會是這樣的:

for button in actionButtons { 
    button.removeFromSuperview() 
} 

actionButtons是包含所有按鈕添加到自定義單元格

+0

沒有一個數組回答他的問題。 –

相關問題