如何知道集合视图的“ referenceSizeForHeaderInSection”方法调用已完成?

时间:2018-08-12 16:14:05

标签: ios swift uicollectionview uicollectionviewlayout completionhandler

我有一个带有UICollectionView的viewController,我正在设置标头,我需要它们的高度可以动态计算。我对collectionView(_:layout:referenceSizeForHeaderInSection:)的实现与此类似:

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForHeaderInSection section: Int) -> CGSize {
    let width = collectionView.frame.size.width
    customHeader.layoutIfNeeded()
    let height = customHeader.container.systemLayoutSizeFitting(UILayoutFittingCompressedSize).height

    return CGSize(width: width, height: height)
}

我需要知道此调用何时完成以及标头的大小已设置,以便触发我需要执行的其他一些操作。

我已经看到viewController的viewDidLoad()viewDidLayoutSubviews()方法都在另一个方法之前被调用。有什么方法可以满足我的需求?

0 个答案:

没有答案