我有一個相當簡單的UITableView,它使用NSArray的航班預訂,並且每個預訂顯示一個單元格。最近客戶提出了一個問題(我只能偶爾重現),其中一些單元格完全隱藏。他們的空間在那裏,但是他們應該存在差距。UITableView隨機消失的單元格
表中有一個頁眉和頁腳,所以我可以看到差距(這不僅僅是有更少的元素)。
示例屏幕截圖在這裏:http://myflightsapp.com/images/missing-cells.png
這真的是間歇性的,因爲如果我重新啓動應用程序,這個問題就會消失。
我已經嘗試用一個非常簡單的2班輪替換cellForRowAtIndexPath來返回一個完全標準的UITableViewCell與文本標籤,並且它顯示相同的問題,所以對於我來說,規定了Nib/Custom類是問題。
heightForRowAtIndexPath始終返回一個常量,因此它不會錯誤地顯示零高度行。
表中只有1段。
我把調試的numberOfSectionsInTableView方法,它總是返回(在本例中2)正確的數字
我已經把調試中的cellForRowAtIndexPath,從中我學到: 1)如果我將表視圖向上拖動到足夠高的位置(以便單元格從屏幕上消失),然後再放開,在出現問題的情況下,它不會再次調用cellForRowAtIndexPath,以便在表格滾動回視圖時嘗試重繪單元格,但是當問題不存在時(即單元格全部可見),它會爲每個單元格再次調用cellForRowAtIndexPath。
2)在任何時候,任何單元格都不具有「隱藏」屬性爲真。
從其他地方添加調試(例如臨時按鈕)我可以爲未顯示的單元格手動調用cellForRowAtIndexPath方法,並返回似乎是有效的單元格。
所以我的問題是,什麼會導致我看到的問題?我沒有足夠的地方去調試,看看問題出在哪裏。
會大量讚賞任何幫助 - 我錯過了什麼?
一個有趣的想法,但我試過每次都強迫重新創建單元格(通過嘗試不去除單元格並強制每次創建一個新單元格)。也考慮到這發生在2個單元格中,我不認爲就是這樣。 – schofs