gpt4 book ai didi

ios - 带有 invalidateSupplementaryElements 和 UICollectionViewLayoutInvalidationContext 的 invalidateLayout

转载 作者:搜寻专家 更新时间:2023-10-30 22:11:16 26 4
gpt4 key购买 nike

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

我收到以下错误:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'the invalidation context () sent to -[UICollectionViewFlowLayout invalidateLayoutWithContext:] is not an instance of type UICollectionViewFlowLayoutInvalidationContext or a subclass'

实现代码:

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 在这里 -

enter image description here

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

最佳答案

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

改变这一行:

let footer_context = UICollectionViewLayoutInvalidationContext()

对此:

let footer_context = UICollectionViewFlowLayoutInvalidationContext()

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

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com