簡體   English   中英

如何基於UITableView滾動動態調整UITableViewCell的大小?

[英]How to dynamically resize UITableViewCell based on UITableView scrolling?

我曾嘗試尋找該問題的答案,但到目前為止我還沒有任何運氣。

上下文

我在標准UIViewController內有一個UITableView(沒有UITableViewController ..)。 我有UITableViewCell的子類,並且tableview中的所有單元格都來自同一類。

需求

我想找到一種有效的方法來基於tableview的滾動來調整單元格的大小。 例如,當單元格在可見列表的底部時,高度為X。當單元格在屏幕上向上移動時,其高度應成比例地增加到2X。

附加信息

我接近放棄UITableView的方式,開始制作自己的控件,該控件將通過繼承UIScrollView來實現這樣的壯舉。 但是,我想看看是否有可能在走這條路之前。 我確實看到了一些非常有趣的SO帖子,但是沒有什么能讓我走上正確的道路。

任何提示或幫助將不勝感激。

您將需要響應滾動視圖委托方法scrollViewDidScroll:並將其實現以在表格視圖的頂部記錄單元格並重新加載表格視圖。 然后,您的表視圖委托方法tableView:heightForRowAtIndexPath:通過索引路徑和頂部單元tableView:heightForRowAtIndexPath:引路徑之間的關系來設置單元格高度。

您的主要問題是始終重新加載表視圖時的性能。

如果您想推出自己的解決方案,無論如何都可以按照上述說明進行操作,但是您將能夠比表視圖更高效,因為表視圖將為每一行調用一次tableView:heightForRowAtIndexPath:方法每次重新加載以計算表格內容的總高度。

暫無
暫無

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

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