相关疑难解决方法(0)

UICollectionView的单元格消失了

发生了什么

目前我有一个使用两个UICollectionViews内部的应用程序UITableView.这样我创建了一个类似应用程序的Pulse News.我的问题是,有时第6行和第11行完全消失,留下一个空白区域应该是单元格.我真的不介意,如果所有细胞都是这样的(这种方式我可以假设我没有做正确的事情),但问题是,正好发生在那些特定的细胞上.

我的理论

第6行和第11行是我开始滚动时出现的行,所以默认情况下我可以看到5个单元格,当我进行第一次水平滚动时,第6行会出现(有时会出现空白).

是)我有的

我目前唯一要做的就是:

 [self.collectionView registerNib:[UINib nibWithNibName:CELL_NIB_NAME bundle:nil] forCellWithReuseIdentifier:CELL_IDENTIFIER];
Run Code Online (Sandbox Code Playgroud)

viewDidLoad.在创建细胞时:

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    MyCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:CELL_IDENTIFIER forIndexPath:indexPath];

    NSMutableDictionary *dictionary = [self.DataSource objectAtIndex:[indexPath row]];

    [cell buildViewWithDictionary:dictionary withReferenceParent:self.referenceViewController];

    return cell;
}
Run Code Online (Sandbox Code Playgroud)

所以在我的承诺中没有任何幻想在这里发生.我虽然在数据源(虚拟JSON文件)上有问题,但有时它工作正常并且单元格显示,所以我猜从那部分是可以的.

所以我的"问题":有谁知道发生了什么?我真的不想说这是来自iOS的错误,但我想不出别的什么.


编辑1.0

令人惊讶的是这种方法

-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath;
Run Code Online (Sandbox Code Playgroud)

indexPath不计算[0,5]的情况下从[0,4]变为[0,6].我第一次真正在iOS中看到这种情况.


编辑2.0

我已经改变了创建单元格的方式,而不是出列我使用旧方法:

NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CELL_NIB_NAME owner:self options:nil];
MyCell *cell = (MyCell *)[nib objectAtIndex:0];
Run Code Online (Sandbox Code Playgroud)

仍然是同样悲伤的结果.

xcode ios uicollectionview uicollectionviewcell

53
推荐指数
3
解决办法
3万
查看次数

在 UICollectionView 中滚动 2 - 3 次后单元格消失

滚动我的UICollectionView. 它显示一个空白视图,其中没有任何单元格。

它奇怪地隐藏了我的手机或移除了我的手机,我不知道,但我找不到任何解决方案。

我已经尝试过这些解决方案:

第一:尝试创建自定义类UICollectionViewFlowLayout并按照所有不同的方法进行操作,但无法解决我的问题。

第二:尝试了以下方法来重新分配和重新计算我的单元格大小:

-(BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds
{
   return YES;
}
Run Code Online (Sandbox Code Playgroud)

我遵循的链接:

问题 1:UICollectionView 的单元格消失

问题 2:使用我自己的 UICollectionViewFlowLayout 子类滚动时 UICollectionView 项目消失

请指导我使用自定义单元格的简单集合视图有什么问题。

参考图片:

滚动前: 在此处输入图片说明

滚动后: 在此处输入图片说明

objective-c ios uicollectionview uicollectionviewcell uicollectionviewlayout

1
推荐指数
1
解决办法
2204
查看次数