ios - 发送 heightForRow :atIndexPath height value after calculating it in-cell

标签 ios iphone swift uitableview cocoa-touch

我有一个 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/

相关文章:

iphone - 防止 UIDatePicker 与 TableView 一起滚动

ios - Swift 禁用带有功能的选项卡栏项目

ios - 未保存的管理对象上下文对包含NONE或ANY的谓词产生异常

iphone - iTunes connect 默认添加光泽效果

ios - PayPal 网站中未显示简短说明

iphone - 想要在标签栏中创建注销按钮

ios - Firebase 存储 : How to reduce requests? (iOS)

ios - 我正在尝试获取 apple music API 的用户 token ,我已经从 python 终端命令生成了有效的开发人员 token

ios - UIImagePickerController 不请求许可

iphone - 当我删除我的 iOS 应用程序时,推送通知状态仍然存在