2015-11-10 11 views
0

Я настроил UICollectionView с пользовательской ячейкой XIB. Я установка делегата, методы источника данных надлежащим образом, но при загрузке представления коллекции появляется пустым с черным экраном:UICollectionView выглядит пустым - ячейки не отображаются

blank

Вот мой код для регистрации пользовательских XIb ячейки:

[self.collectionView registerClass:[CustomViewCell class] forCellWithReuseIdentifier:@"cvCell"]; 

Делегирование методы источник/данные:

-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView { 
return 2; 
} 

-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { 
return 4; } 

-(CustomViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { 

static NSString *cellIdentifier = @"cvCell"; 
CustomViewCell *cell = (CustomViewCell *)[collectionView dequeueReusableCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath]; 

return cell; 

} 

Я также установить класс для пользовательских XIb ячейки:

class_xib_cell

EDIT: макет вид

Коллекция устанавливается:

UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init]; 
[flowLayout setItemSize:CGSizeMake(50, 29)]; 
[flowLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal]; 

[self.collectionView setCollectionViewLayout:flowLayout]; 

50,29 относятся к размеру фактического вида в XIb клетки

+0

Какая у вас коллекцияViewLayout установлена? Кажется, что-то не так с этим, или все ваши камеры прозрачны. –

+0

Вы добавили контроллер коллекции в окно? – anhtu

+0

Я добавил представление коллекции через IB и подключился к розетке в VC. Также установите источник данных и делегируйте его в VC, который соответствует UICollectionViewDataSource, делегировать. – user1686342

ответ

0

Вы должны зарегистрироваться ваш пользовательский элемент ячейки вместо класса.

UINib *cellNib = [UINib nibWithNibName:@"cvCell" bundle:nil]; 
[self.collectionView registerNib:cellNib forCellWithReuseIdentifier:@"cvCell"]; 
+0

Регистрация классов должна работать нормально, хотя и корректна, но не использует его xib, поэтому он просто выделяет/вводит CustomViewCell без какого-либо контента из xib на данный момент. В этих случаях все содержимое должно быть добавлено в код CustomViewCell. –

+0

@CarlLindberg - Вы говорите, что я должен сделать выше, чтобы правильно загрузить пользовательскую ячейку xib со всеми ее элементами? – user1686342

+0

@ user1686342 Да, поскольку вы создаете пользовательский интерфейс ячейки в файле nib, вы должны зарегистрировать этот файл nib с представлением коллекции. – almas

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