gpt4 book ai didi

ios - -layoutAttributesForSupplementaryElementOfKind 没有 UICollectionViewLayoutAttributes 实例 :

转载 作者:行者123 更新时间:2023-12-02 01:46:43 25 4
gpt4 key购买 nike

标题是我遇到的错误,我不知道为什么,但这里有一些信息,希望这里有人可以解释我。

我已经对 UICollectionViewFlowLayout 进行了子类化,因为这可以让我在 prepareLayout 中计算单元格的帧(也许这是一个问题?)。然后,我使用 UICollectionViewLayoutAttributes 信息来计算覆盖它的补充 View ,我得到了我想要的布局。

我使用performBatchUpdates:completion:来添加、删除和更新 View 。插入工作正常,但是删除项目时出现标题中显示的错误。

所以我知道为什么会发生错误,但我不知道为什么会发生错误。通过一个示例来说明导致问题的场景

  1. 从 1 个项目开始,其中包含 1 个补充 View 1 个部分
  2. 再添加两个项目(prepareLayout 看到 3 个项目和 3 个补充 View )
  3. 删除项目(prepareLayout 看到 2 个 View 和 2 个补充 View )
  4. layoutAttributesForSupplementaryViewOfKind:atIndexPath: 被调用,询问带有 section:0 和 item:2 的索引路径属性
  5. 崩溃,因为它要求第三个补充 View 的属性,尽管之前它调用了准备布局来设置 2 个项目和 2 个补充 View
  6. 举起双 watch 示辞职和绝望

据我所知,有问题的函数是:

- (UICollectionViewLayoutAttributes *)layoutAttributesForSupplementaryViewOfKind:(NSString *)elementKind atIndexPath:(NSIndexPath *)indexPath
{
return self.layoutInfo[elementKind][indexPath];
}

这当然是由 UICollectionView 的内部网络自动调用的,所以我不知道为什么它在该索引路径上请求补充 View 。

有人有什么想法吗?也许这就是我使用 performBatchUpdates:completion: 的方式,但删除工作正常,直到添加补充 View 。我可以根据需要提供更多代码/解释。

最佳答案

我在论坛中搜索寻找答案,并发现了一些建议。他们都没有给我所需的帮助,最终为了按时完成任务,我完全放弃了使用补充 View 。

几周后,出于好奇,我再次环顾四周,最终came across the following post现在我又重新开始使用补充 View 。

所以,不要忘记返回您的:

- (NSArray<NSIndexPath *> *)indexPathsToDeleteForSupplementaryViewOfKind:(NSString *)elementKind
{
return self.removedIndexPaths;
}

到您的 Collection View 布局。

关于ios - -layoutAttributesForSupplementaryElementOfKind 没有 UICollectionViewLayoutAttributes 实例 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38005641/

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