我有一个UITableViewHeader
,其中包含UILabel
(动态高度 - 可以是一行或多行)和一个自定义UICollectionView
,在每个UICollectionViewCell
显示UILabel。根据使用的设备,这些UICollectionViewCells
可以跨越一条线,也可以是两条或三条线。这一切都无关紧要。
我的问题在于heightForHeaderInSection
方法。因为在设置框架之前调用它(print(headerView.frame.height)
返回0.0),我无法正确返回正确的高度。我试图访问headerView.frame.height所以它可以动态设置,但我没有这样做。我已经调查了viewDidLayoutSubviews
,但后来我必须将它存储为CGFloat
并强制再次调用heightForHeaderInSection
。
我很确定必须有办法更容易地做到这一点。我也试着查看UITableView.automaticDimension
,但这也没有让我得到解决方案。有什么建议?