我正在尝试刷新页脚(SupplementaryElement)。我正在使用invalidatelayout方法。基于SO建议here。 Apple文档here

我收到以下错误:



实现代码:

let footer_context = UICollectionViewLayoutInvalidationContext()
footer_context.invalidateSupplementaryElements(ofKind: "ActivitiesSelectMembersFooterView", at: [indexPath])
self.collectionView?.collectionViewLayout.invalidateLayout(with: footer_context)

看起来invalidateLayout方法期望使用UICollectionViewFlowLayoutInvalidationContext而不是UICollectionViewLayoutInvalidationContext

我正在使用Xcode 8和Swift 3。

我的Xcode Storyboard在这里-

ios - 具有invalidateSupplementaryElements和UICollectionViewLayoutInvalidationContext的invalidateLayout-LMLPHP

“下一个”是具有自定义类“ActivitiesSelectMembersFooterView”的页脚

最佳答案

该错误信息准确地描述了问题。在UICollectionViewFlowLayout对象上调用invalidateLayout(with:)时,您需要传递UICollectionViewFlowLayoutInvalidationContext的实例。

更改此行:

let footer_context = UICollectionViewLayoutInvalidationContext()

对此:
let footer_context = UICollectionViewFlowLayoutInvalidationContext()

关于ios - 具有invalidateSupplementaryElements和UICollectionViewLayoutInvalidationContext的invalidateLayout,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40709318/

10-11 01:01