gpt4 book ai didi

ios - UICollectionView reloadData 幽灵细胞

转载 作者:可可西里 更新时间:2023-11-01 05:55:34 24 4
gpt4 key购买 nike

我来这里是因为我的 UICollectionView 有一个很奇怪的问题。

Imgur 专辑所有屏幕我想分享:http://imgur.com/a/v3sox

首先,这是我的应用毫无问题的样子:相册的图片 2。

请注意右上角的刷新按钮,这是给我带来问题的按钮。

当我快速向下滚动 UICollectionView 并在 Collection View 仍在滚动时按“刷新”时,我得到了不属于任何人的“剩余单元格”,只是留在屏幕上。(例如:相册的图片 1)

我不明白发生了什么,因为在我的刷新方法中我有:

- (void)refreshData
{
//A bunch of code before I reset the data
dispatch_async(dispatch_get_main_queue(), ^{
//Reset data
currentProjects = nil;
[self.projectsCollectionView reloadData];

//Some other stuff concerning the little "Chargement..." view
};
}

然后单元格继续留在我屏幕上的每个文件夹中,所以如果我选择另一个文件夹,我将得到相册的图像 3(注意最后 4 个单元格的标签,它们混淆了,因为之前的单元格在不应该出现在屏幕上时仍在屏幕上。)

有没有人知道可能导致这种情况的原因?非常感谢您的宝贵时间

P.S: 对不起,我把所有的屏幕都放在一个相册里,不能发布超过 2 个链接,所以我不得不即兴创作

最佳答案

刚刚也遇到了同样的问题。我通过修改 UICollectionViewCell 解决了这个问题。

(注意:我的代码是使用 MonoTouch 的 c#)。

在单元格每次创建对象之前。即。

textView = new UITextField()
{
BackgroundColor = UIColor.Clear,
TextColor = UIColor.LightGray,
Text = Title
};

修复它,检查对象,并相应地更新它。

if (textView == null)
{
textView = new UITextField()
{
BackgroundColor = UIColor.Clear,
TextColor = UIColor.LightGray,
Text = Title
};
}
else
textView.Text = Title;

现在,当在 CollectionView 上调用重新加载数据时,它会正确重新加载。

关于ios - UICollectionView reloadData 幽灵细胞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17444541/

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