我是UICollectionView
的新手,我正在按照我在Youtube上找到的教程,但我遇到了一个我无法弄清楚的错误。
当我使用此代码运行应用程序时:
-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
return 1;
}
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return [self.array count];
}
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
CollectionCell *aCell = (CollectionCell *)[collectionView dequeueReusableCellWithReuseIdentifier:@"myCell" forIndexPath:indexPath];
aCell.title.text = self.array[indexPath.row];
return aCell;
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.array = @[@"First", @"Second", @"Thirth", @"Fourth"];
}
在.h:
@property (strong, nonatomic) NSArray *array;
在控制台中,我收到以下错误:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'UICollectionView must be initialized with a non-nil layout parameter'
我没有使用故事板,并且自定义了CollectionView你可以在这里看到的内容:
有没有人有任何想法我为什么会收到此错误?欢迎一切!
编辑:
- (void)viewDidLoad
{
[super viewDidLoad];
self.array = @[@"First", @"Second", @"Thirth", @"Fourth"];
[self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"myCell"];
UICollectionViewFlowLayout *flow = [[UICollectionViewFlowLayout alloc] init];
[flow setItemSize:CGSizeMake(60, 60)];
[flow setScrollDirection:UICollectionViewScrollDirectionVertical];
[self.collectionView setCollectionViewLayout:flow];
}
答案 0 :(得分:5)
注册uicollectionviewcell视图类时出错。要解决,请在代码中添加以下行:
[self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"myCell"];
答案 1 :(得分:2)
在viewDidLoad
方法::
[self.collView registerClass:[mineCell class] forCellWithReuseIdentifier:@"cvCell"];
在上面的行之后尝试这个:
UICollectionViewFlowLayout *flow = [[UICollectionViewFlowLayout alloc] init];
[flow setItemSize:CGSizeMake(60, 60)];
[flow setScrollDirection:UICollectionViewScrollDirectionVertical];
[self.collView setCollectionViewLayout:flow];
此处mineCell
是我的自定义collectionViewCell,您也可以直接使用[UICollectionViewCell class]
。
感谢。