Я пытаюсь использовать UICollectionViewCell
, поскольку все, что я хочу отобразить, - это изображение. Я могу добавить изображение в ячейку, используя UIColor colorWithImage:
в свойстве UICollectionViewCell
contentView
.
В моем методе loadView
я регистрирую ячейку следующим образом:
[self.collectionView registerClass:[ImageCell class] forCellWithReuseIdentifier:@"MyCell"];
Ниже мой метод cellForItemAtIndexPath
:
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"MyCell" forIndexPath:indexPath];
// cell customization
return cell;
}
Когда я запускаю его, как только он попадает на строку dequeue, он выходит из строя со следующей ошибкой:
*** Assertion failure in -[UICollectionView _dequeueReusableViewOfKind:withIdentifier:forIndexPath:]
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'could not dequeue a view of kind: UICollectionElementKindCell with identifier MyCell - must register a nib or a class for the identifier or connect a prototype cell in a storyboard'
Я устал настраивать пользовательскую ячейку и использовал ее как класс, и я получил ту же ошибку. Моя пользовательская ячейка подклассифицировала UICollectionViewCell и ничего не реализовала, кроме стандартного initWithFrame
. Это потому, что я хотел просто изменить цвет фона в представлении. Я не уверен, в чем проблема, но может кто-нибудь, пожалуйста, взглянуть на мой код и помочь мне? Я пытался понять это довольно долгое время, совершенно не везти.