2017-09-15 26 views
0

我有一個UITableView,當功能cellForRowAt被稱爲正在進行一些計算。這一切都很好,直到我發現當我向上滑動tableview時,每次都會調用cellForRowAt函數。這是iOS 11(GM)中的錯誤還是應該發生的事情?如果這是默認行爲,是否可以停用向上滑動手勢?爲什麼每次在UITableView上滑動都會運行cellForRowAt函數?

+4

無論何時出現新的單元格,都會調用'cellForRowAt',這通常發生在向上滾動tableview時發生。我會假設這是預期的行爲。 –

+0

您需要實現您的自定義單元格的prepareForReuse方法,並重置您在cellForRowAt方法中執行的所有計算 –

+0

我認爲這是預期行爲 –

回答

1

這是因爲你在cellForRowAt使用

dequeueReusableCell 

UITableView重繪每次向上或向下滑動時不顯示在屏幕上的單元格。

0

每當我們向下滾動或向上滾動cellForRowAt將被調用,由於行爲UITableView和改變發生變化,然後細胞不得不重新設計自己。

相關問題