我有一个 UITableView
,它有几个不同高度的单元格。每一行都根据其包含的内容进行动态调整。
我有一个自定义的 UITableViewCell
,里面有一个 UICollectionView
,它应该根据它有多少个单元格来调整大小(所有的单元格都应该是可见的,没有内部滚动) .
我还有一个 UITableViewCell
和另一个 UITableView
应该根据它有多少单元格来调整大小(所有单元格都应该是可见的,没有内部滚动)。
问题是在 heightForRow:atIndexPath
被调用时,我没有 collectionView 和 tableView 的 contentSize
,所以我无法将值设置为某些值对。
我尝试将其设置为 UITableViewAutomaticDimension
并在设置时将 cell.contentView.frame.size.height
设置为 contentSize(添加了观察者在“contentSize”上),但随后单元格彼此重叠(collectionView 位于 tableView 的顶部而不是其上方)。
tableView代码是一个普通的tableView代码。
collectionView代码是:
self.collectionView.collectionViewLayout = UICollectionViewLeftAlignedLayout()
let collectionViewFlowLayout = collectionView.collectionViewLayout as! UICollectionViewFlowLayout
collectionViewFlowLayout.estimatedItemSize = CGSize(width: 34, height: 50)
调整tableView和collectionView大小的最佳方式是什么?
谢谢!
最佳答案
您可以使用这段代码让 UITableView 再次调整其单元格高度:
self.tableView.beginUpdates()
self.tableView.endUpdates()
关于ios - 发送 heightForRow :atIndexPath height value after calculating it in-cell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45584975/