В настоящее время у меня есть приложение, которое использует два UICollectionViews внутри UITableView. Таким образом я создаю приложение, похожее на Pulse News. Моя проблема в том, что иногда 6-я и 11-я строки полностью исчезают, оставляя пустое место там, где должна быть ячейка. На самом деле я бы не возражал, если бы все ячейки были такими (и таким образом я мог бы предположить, что я что-то делаю неправильно), но дело в том, что это просто происходит с этими конкретными.
Моя теория
6-я и 11-я строки — это те, которые появляются, когда я начинаю прокручивать, поэтому по умолчанию я вижу 5 ячеек, и когда я делаю первую горизонтальную прокрутку, появляется 6-я (иногда пустое пространство).
Что у меня есть
Единственное, что я делаю в данный момент, это это:
Код: Выделить всё
[self.collectionView registerNib:[UINib nibWithNibName:CELL_NIB_NAME bundle:nil] forCellWithReuseIdentifier:CELL_IDENTIFIER];
Код: Выделить всё
- (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;
}
Итак, мой «вопрос»: кто-нибудь знает, что происходит? Мне не очень нравится говорить, что это баг iOS, но я не могу придумать ничего другого.
Edit 1.0
Самое удивительное в том, что этот метод
Код: Выделить всё
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath;
Edit 2.0
Я изменил способ создания ячеек и вместо удаления из очереди использую старый способ:
Код: Выделить всё
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CELL_NIB_NAME owner:self options:nil];
MyCell *cell = (MyCell *)[nib objectAtIndex:0];
Подробнее здесь: https://stackoverflow.com/questions/133 ... sappearing