我有一个UITableViewHeader
,其中包含一个UILabel
(动态高度-可以是一行或多行)和一个自定义的UICollectionView
,它在每个UICollectionViewCell
中显示一个UILabel 。根据使用的设备,这些UICollectionViewCells
可以跨越一行,也可以跨越两行或三行。一切都没那么重要。
我的问题出在heightForHeaderInSection
方法中。由于在设置框架之前会调用此方法(print(headerView.frame.height)
返回0.0),所以我无法正确返回正确的高度。我正在尝试访问headerView.frame.height,以便可以动态设置它,但是我没有这样做。我已经研究过viewDidLayoutSubviews
,但是随后我必须将其存储为CGFloat
并强制再次调用heightForHeaderInSection
。
我敢肯定,一定有一种方法可以更轻松地做到这一点。我也尝试查看UITableView.automaticDimension
,但这也没有带我解决该问题。有什么建议吗?