0

Я хочу использовать несколько идентификаторов в UICollectionViewCell.

Но, похоже, я могу установить только один идентификатор повторного использования для CollectionView.Использование нескольких идентификаторов в UICollectionViewCell

[collectionView registerClass:[CollectionViewCell class] forCellWithReuseIdentifier:@"CollectionViewCell"]; 


Он действительно работал только с одним идентификатором, но когда я использую другой идентификатор, как это, он выдает сообщение об ошибке.

CollectionViewCell *cell = (CollectionViewCell *)[collectionView dequeueReusableCellWithReuseIdentifier:@"NewID" forIndexPath:indexPath]; 

Нагрузочного приложение из-за неперехваченное исключением «NSInternalInconsistencyException», причина: «не мог из очереди вида из рода: UICollectionElementKindCell с идентификатором CollectionViewCell - должно зарегистрировать перо или класс для идентификатора или подключить прототип ячейки в раскадровке '

Как установить несколько идентификаторов в UICollectionViewCell?

Я хочу отображать несколько пользовательских ячеек одновременно.
Каждая ячейка имеет UIScrollView и UIPageControl.
Если я не могу установить разные идентификаторы, экземпляр будет повторно использован для новой ячейки, и UIPageControl не будет реагировать на движение в каждом UIScrollView.

+1

Пробовали ли вы регистрировать другие классы/идентификаторы? – nhgrif

ответ

1

Для каждого класса и ячейки вы должны позвонить registerClass:forCellWithReuseIdentifier:.

Если вы хотите использовать ячейки с разными идентификаторами повторного использования, вы должны создать для них разные классы, а затем зарегистрировать эти классы в виде коллекции для этого идентификатора повторного использования.


[collectionView registerClass:[FooCell class] 
    forCellWithReuseIdentifier:@"FooIdentifier"]; 

[collectionView registerClass:[BarCell class]  
    forCellWithReuseIdentifier:@"BarIdentifier"]; 

[collectionView registerClass:[ExampleCell class] 
    forCellWithReuseIdentifier:@"ExampleCell"]; 

Теперь вы можете использовать клетки с любым из этих трех идентификаторов.

Смежные вопросы