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