ios - UICollectionViewController - 有时在快速滚动期间显示错误的单元格

标签 ios ios6

我有一个 UICollectionViewController 和我的自定义单元格,在我的 cellForRowAtIndexPath: 方法中,我根据 indexPath.row 设置单元格。 但是我得到了错误的结果,这个单元格甚至出现在第一个位置之后,如果你来回滚动,它会随机弹出。我该如何解决?

代码如下:

-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    DVGCollectionViewCell *cell;

    cell = [self.collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath];

    if (indexPath.row == 0)
    {
        cell.imageView.image = [UIImage imageNamed:@"something1.png"];
        cell.buyLabel.text = @"170";
        cell.textLabel.text = @"11.2011";
    }

    return cell;
}

最佳答案

UITableView 和 UICollectionView 中的 Cell 被回收,这意味着当一个离开屏幕时,它会被放入 NSSet 中,直到您再次需要它。当需要时,它会从设置的广告中删除,并在 UICollectionView View 层次结构中再次添加。如果您不清除单元格内的值或重新设置它们,单元格将显示与创建时相同的数据。
这是出于性能原因,创建单元格需要更多时间而不是再次对其进行赋值。
如果您的问题出在布局中,请检查布局流对象,您设置了哪个大小?

关于ios - UICollectionViewController - 有时在快速滚动期间显示错误的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17379345/

相关文章:

iOS定时从服务器读取数据

ios - 文件是为存档而构建的,这不是正在链接的架构(armv7s)

ios - 防止类在特定 iOS 版本上编译

ios - Swift 3 - AdMob 未显示在现有的 View Controller 上

iphone - 一次运行多个 CADisplayLinks ?

javascript - 在 JavaScript 中检测相对于主页按钮的 iOS 方向?

ios - Alljoyn 初始化总线附件抛出 EXC_BAD_ACCESS

ios - 奇怪的 UIWebView 错误/行为

ios - Objective-C 将对象放入每个数组

ios - PushKit 后台通知在初始 View Controller 上触发 viewDidAppear