簡體   English   中英

UITableView cellForRowAtIndexPath偶爾不調用?

[英]UITableView cellForRowAtIndexPath occasionally not called?

我正在開發一個繪圖應用程序,該應用程序在主導航/選項卡視圖上顯示一個UIView,該UIView使用openGL渲染圖形。 在該視圖下面是一個UITableView,它顯示圖形上的元素列表以及一個添加按鈕。

有時,當用戶單擊另一個選項卡,然后返回到圖形視圖選項卡時,表視圖不會被重繪。

我在導航控制器(也是表視圖的委托和數據源)的viewDidAppear方法中調用了[tableView reloadData]方法。

盡管調用了numberOfSectionsInTableView和numberOfRowsInSection,但cellForRowAtIndexPath卻沒有,盡管后兩種方法都返回正值。

這是一個間歇性問題,僅在某些時間發生,但尚不清楚是什么(如果有的話)會影響此問題。

有人有什么想法嗎?

[edit]應該快速添加; 單擊表視圖或以其他方式與表視圖交互,無論是否如描述的那樣出錯,總是導致其成功重繪。

[再次]更多信息; 當它如上所述發生故障並調用前兩個方法但不調用cellforRowetc方法時,似乎要等到用戶與表進行交互之后,才最終調用cellForRowetc(然后不調用前兩個方法)並重新繪制。

我有一個UIActivityIndi​​cator,它從一個單獨的線程啟動,顯示何時向Web服務發出請求。 Web服務調用完成后,通知被發送到圖形控制器類,以停止並隱藏UIActivityIndi​​cator。 在此方法中,無論視圖是否可見,都在表上調用reloadData,這似乎是造成問題的原因。

結論似乎是除非在表上可見,否則不要在表上調用reloadData。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM