Когда недавно добавив UICollectionView
с пользовательским UICollectionViewFlowLayout
подклассом методом collectionView:cellForItemAtIndexPath:
является только вызываются на iOS7, а не на iOS6. Другими словами, все отлично работает в iOS7, но мои пользовательские элементы коллекцииView не отображаются в iOS6. Интересно, что ячейки, кажется, там (свитки коллекцииView), но все предметы пустые с белым фоном.cellForItemAtIndexPath: стрельба в iOS7, но не iOS6
CollectionView был настроен в файле .xib, dataSource и делегат были присоединены, а UICollectionViewDataSource и UICollectionViewDelegateFlowLayout были добавлены после вызова @interface в файле .h-файла представления.
Размер элемента коллекции, секция вставки, межстрочный интервал и интервал между элементами устанавливаются в методе инициализации пользовательского потока.
Некоторый код:
- (void)viewDidLoad
{
[super viewDidLoad];
self.collectionView.collectionViewLayout = [[TFSpringFlowLayout alloc] init];
[self.collectionView registerClass:[TFWorkoutCell class] forCellWithReuseIdentifier:CellIdentifier];
}
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
// This method is returning a value > 0
return _workouts.count;
}
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
return 1;
}
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
// This is being called on iOS7, but is never being called on iOS6
...removed for clarity
return cell;
}
EDIT: Проблема решаемая. В моем настраиваемом макете потока были включены некоторые переопределения, зависящие от iOS7, с использованием нового класса UIDynamicAnimator
. Они не вызывают сбоя, но препятствуют тому, чтобы клетки были втянуты в iOS6.
Я бы предположил, что проблема связана с вашей компоновкой, поэтому было бы полезно увидеть содержимое «TFSpringFlowLayout» и любые связанные с ним методы делегата. –