2012-12-29 54 views
-1

我遇到了一個問題,其中cellForRowAtIndexPath返回了錯誤的單元格,因此它正在尋找並對錯誤的單元格執行其他操作。CellForRowAtIndexPath返回錯誤的單元格

我已經建立了非常大的自定義單元格,因爲我適合一些UIImageViews(+文本+按鈕),所以一個單元格佔據了整個屏幕。當您向下滾動並且同時在屏幕上顯示兩個單元格時,如果您點擊頂部單元格,則會縮進至底部單元格的內容(單元格內的按鈕操作相同)。

我認爲這可能是特定於IB,所以我重建了代碼中的所有東西,但我仍然有相同的行爲。

有什麼辦法解決這個問題,並維護正確的indexPaths?

+6

不是沒有更多的信息去..但提示:框架是..不經常這是錯的,很可能你的實現是越野車:/無論如何,請充實問題 –

+4

你可以發佈實施? –

+0

沒有人能夠在沒有看到您的代碼的情況下爲您提供幫助 –

回答

1

我認爲你的觀點錯了。 cellForRowAtIndexPath不會返回錯誤的單元格。它應該只是返回一個新的單元格,如果您使用dequeueReusableCellWithIdentifier或類似的方法,它可能已被回收。在這種情況下,dequeueReusableCellWithIdentifier將返回可能剛剛從頂部滾動的任何舊單元格。這是你的工作,採取新鮮細胞(這可能是一個新的細胞或回收的),並填寫正確的值,在cellForRowAtIndexPath內。然後它返回的單元格將是「正確」的單元格,因爲您剛剛寫入了所有正確的值。因此,我會查看您的cellForRowAtIndexPath實現,以確保您傳遞的索引路徑的正確值填充到cellForRowAtIndexPath返回的單元格中。

相關問題