2015-10-13 2 views
0

TableViewCell КлассКак вызвать методы делегата CollectionView внутри TableView в Objective C?

- (void)awakeFromNib { 
//Registering CollectionViewCell 
} 


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

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { 
    return [productsData count]; 
} 

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath 
{ 
    CollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"collectionCell" forIndexPath:indexPath]; 
    NSDictionary *cellData = [productsData objectAtIndex:[indexPath row]]; 
    cell.imageView.image = [UIImage imageNamed:[cellData objectForKey:@"image"]]; 
    return cell; 
} 

Как вызывать методы делегирования зрения сбора?

ответ

0

В файле TableViewCell.h добавить.

@property (nonatomic, assign) UICollectionView *yourCollectionView; 

В вашем файле TableViewCell.m добавить.

@synthesize yourCollectionView; 

в вашем init метода вида коллекции Alloc & набора делегата & источника данных.

yourCollectionView = [UICollectionView alloc] initWithFrame://(your frame) ]; 

yourCollectionView.dataSource = self; 
yourCollectionView.delegate = self; 
// set other properties as per tour needs . 

[self.contentView addSubview:yourCollectionView]; 

Добавить проверять свои методы делегирования в порядке. надеюсь, это поможет вам.

+0

Его работа, но ошибка приходит «должна зарегистрировать ниб или класс для идентификатора». Итак, в приведенном выше коде я сделал правильное кодирование для регистрации ячейки? – Champz

+0

в вашем методе init добавьте [yourCollectionView registerClass: [yourcollectionviewcellclass class] forCellWithReuseIdentifier: @ "indetifire"]; перед распределением коллекции. – Garry

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