带有动态单元格标识符的 UICollectionView
UICollectionView with dynamic Cell Identifier
我希望 UICollection 视图具有动态 CellIdentifier
喜欢下面。
NSString *strIdentifier = [NSString stringWithFormat:@"cellIdentifier%d",indexPath.row];
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:strIdentifier forIndexPath:indexPath];
我该怎么做?如果可能请帮助!!!
谢谢
编辑
我已经用这个代码注册了我所有的标识符
//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];
但给我这个错误
无法使同类视图出列:具有标识符 cellIdentifier0 的 UICollectionElementKindCell - 必须为标识符注册一个笔尖或 class 或连接情节提要中的原型单元格'
有可能。您需要先注册所有小区标识符。
[collectionView registerNib:forCellWithReuseIdentifier:]
或
[collectionView registerClass:forCellWithReuseIdentifier:]
然后您就可以毫无困难地创建和出列所有准备好的标识符。
我希望 UICollection 视图具有动态 CellIdentifier 喜欢下面。
NSString *strIdentifier = [NSString stringWithFormat:@"cellIdentifier%d",indexPath.row];
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:strIdentifier forIndexPath:indexPath];
我该怎么做?如果可能请帮助!!! 谢谢
编辑
我已经用这个代码注册了我所有的标识符
//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];
但给我这个错误
无法使同类视图出列:具有标识符 cellIdentifier0 的 UICollectionElementKindCell - 必须为标识符注册一个笔尖或 class 或连接情节提要中的原型单元格'
有可能。您需要先注册所有小区标识符。
[collectionView registerNib:forCellWithReuseIdentifier:]
或
[collectionView registerClass:forCellWithReuseIdentifier:]
然后您就可以毫无困难地创建和出列所有准备好的标识符。