進出口尋找動態調整UITableViewCells當用戶滾動列表,也就是說,使項目生長在大小,因爲他們到達列表的底部。
考慮
這是一個需要爲呼叫來作出刷新每秒多次的過程:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
所以這是不切實際的採取UITableView::ReloadData
的方法,使一呼叫:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
由於這將需要重新加載一堆額外的數據和sl很大程度上依靠系統。
需要
- 我將在屏幕上的約10項。
- 整個列表在極端情況下可能有多達100個項目。
- 系統需要平滑滾動。
- 當列表滾動時,項目需要實時擴展和收縮。
常識
這必然會有一定的性能影響VS靜態項的列表。
有數百個線程處理「resize cel to text length」這個簡單的情況,這不是我所需要的,因爲這是一次性的事情,相比之下,每秒有很多次循環。
可能的方法
- 子類
UITableView
。 - 有一個嵌套在
UIScrollView
中的靜態UITableView
。 - 從零開始創建項目列表系統,根本不使用
UIScrollView
。
廢棄接近每個週期
- 呼叫
UITableView::ReloadData
使heightForRowAtIndexPath
:被調用。
到目前爲止
我已經編碼的計算項目大小的數學模塊。
結論
我在尋找最快捷的方式來解決這一點,但如果需要,作爲最後的手段,我將重新編寫自己UITableView
。
謝謝你的時間。
@jacky男孩,感謝您的編輯和觀察。我刪除了一些從未得到答案的問題,並在我找到的一些解決方案中加以鍵入。我的大部分問題現在都回答了,除了我想弄明白的兩個問題。 –