6

Ho un UICollectionView che mostra immagini simili a copertine o iBooks. Mi piacerebbe che mostrasse il titolo della clip audio sotto UIImageView. Ho nel mio MainWindow.xib un controller di visualizzazione con un UICollectionView al suo interno. Ho anche creato un NibCell.xib per la cella stessa. Nella cella, ho una UIImageView che riempie tutti i 30 px inferiori della cella. In quest'area aggiungo un UILabel. Io do l'UIImageView un tag di 100 e UILabel un tag di 200, e nel mio codice ho messo:Aggiungi UILabel sotto UICollectionView Cell

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

    RSSEntry *entry = [_allEntries objectAtIndex:indexPath.row]; 

    static NSString *cellIdentifier = @"cvCell"; 

    UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath]; 

    UIImageView *titleLabel = (UIImageView *)[cell viewWithTag:100]; 
    UILabel *titleLabel2 = (UILabel *)[cell viewWithTag:200]; 

      NSString *thearticleImage = entry.articleImage; 
       [titleLabel setImageWithURL:[NSURL URLWithString:entry.articleImage] placeholderImage:[UIImage imageNamed:@"[email protected]"]]; 

     [titleLabel2 setText:entry.articleTitle]; 
     return cell; 
} 

Tuttavia, non importa come la cellula è impostato in NibCell.xib, rende l'UIImageView riempire il tutta la cella e aggiunge la UILabel su di essa. Eventuali suggerimenti?

risposta

12

È necessario aggiungere l'UILabel a contentView cellula

UILabel *title = [[UILabel alloc]initWithFrame:CGRectMake(0, 10, cell.bounds.size.width, 40)]; 
title.tag = 200; 
[cell.contentView addSubview:title];