2015-01-07 4 views
1

Я хочу, чтобы UICollection отображал динамический CellIdentifier , похожий на follwoing.UICollectionView с динамическим идентификатором ячейки

NSString *strIdentifier = [NSString stringWithFormat:@"cellIdentifier%d",indexPath.row]; 
    UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:strIdentifier forIndexPath:indexPath]; 

Как это сделать? Если это возможно, пожалуйста, помогите !!! Благодаря

EDIT

Я зарегистрировал все мои идентификаторы с этим кодом

//CollectionView 
    self.mpCollectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(0, 0, frame.size.width, frame.size.height) collectionViewLayout:layout]; 
    [self.mpCollectionView setDataSource:self]; 
    [self.mpCollectionView setDelegate:self]; 
    for(int i=0;i<arrayExplorerItems.count;i++) 
    { 
     NSString* strIdentifier = [NSString stringWithFormat:@"cellIdentifier%d",i]; 
     NSLog(@"registered Id:%@",strIdentifier); 
     [self.mpCollectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:strIdentifier]; 
    } 

and my cellForItemAtIndeaxPath is 

    UICollectionViewCell *cell; 
    NSString *strIdentifier = [NSString stringWithFormat:@"cellIdentifier%d",indexPath.row]; 
    cell = [collectionView dequeueReusableCellWithReuseIdentifier:strIdentifier forIndexPath:indexPath]; 

но дает мне эту ошибку

не мог из очереди вида рода: UICollectionElementKindCell с идентификатором cellIdentifier0 - должно зарегистрировать нить или класс для идентификатора или подключить прототип ячейки в раскадровке '

+0

Где/когда вы выполняете цикл кода регистров? – rounak

+0

Вскоре после выделения collectionview – Anand

+0

Я получаю NSLog для регистрации до вызова cellForItem? – rounak

ответ

1

Это возможно. Сначала вам необходимо зарегистрировать все идентификаторы ячеек.

[collectionView registerNib:forCellWithReuseIdentifier:] 

или

[collectionView registerClass:forCellWithReuseIdentifier:] 

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

+0

Как я могу зарегистрировать разные идентификаторы? – Anand

+0

см. Мой вопрос для получения дополнительного кода и ошибки – Anand

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