2010-10-06 6 views
2

J'essaie ce code mais c'est une erreur car j'ai une répétition du titre et de la description ... Quelqu'un peut m'aider s'il vous plaît?iPhone Problème avec cellule personnalisée

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

static NSString *CellIdentifier = @"Cell"; 

CustomCell *cell=(CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

if(cell==nil){ 
    cell=[[[CustomCell alloc]initWithFrame:CGRectZero reuseIdentifier:CellIdentifier]autorelease]; 
    cell.accessoryType = UITableViewCellAccessoryNone; 
} 
else{ 
    AsyncImageView* oldImage = (AsyncImageView*) 
    [cell.contentView viewWithTag:999]; 
    [oldImage removeFromSuperview]; 


} 
NSString *mediaUrl = [[[[self rssParser]rssItems]objectAtIndex:indexPath.row]mediaUrl]; 
NSString *[email protected]"http://www.notizie-informatiche.com/wp-content/themes/arthemia/images/imagelogo.png"; 

if([mediaUrl isEqualToString:noimage] == FALSE){ 
    //DISEGNO IL FRAME PER L'IMMAGINE 
    CGRect frameimmagine; 
    frameimmagine.size.width=100; frameimmagine.size.height=120; 
    frameimmagine.origin.x=0; frameimmagine.origin.y=0; 
    AsyncImageView* asyncImage = [[[AsyncImageView alloc] initWithFrame:frameimmagine] autorelease]; 
    UIImage *myImage = [UIImage imageNamed:@"uknown.jpg"]; 
    UIImageView *imageView = [[UIImageView alloc] initWithImage:myImage]; 
    [cell setAccessoryView:imageView]; 


    //SCARICO L'IMMAGINE 

    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 
    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES; 
    asyncImage.tag = 999; 
    NSURL *url = [NSURL URLWithString: mediaUrl];  
    [asyncImage loadImageFromURL:url]; 
    [cell.contentView addSubview:asyncImage]; 
    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; 
} 


//OTTENGO IL TITOLO 
//cell.lbltitolo = [[[[self rssParser]rssItems]objectAtIndex:indexPath.row]title]; 
NSString *titolo = [[[[self rssParser]rssItems]objectAtIndex:indexPath.row]title]; 
//OTTENFO LA DESCRIZIONE 
//cell.lblsottotitolo.text = [[[[self rssParser]rssItems]objectAtIndex:indexPath.row]description]; 
NSString *descrizione = [[[[self rssParser]rssItems]objectAtIndex:indexPath.row]description]; 


UILabel *cellatitoloconimmagine=[[UILabel alloc]init]; 
[cellatitoloconimmagine removeFromSuperview]; 

UILabel *cellatitolo=[[UILabel alloc]init]; 
[cellatitolo removeFromSuperview]; 

UILabel *celladescrizione=[[UILabel alloc]init]; 
[celladescrizione removeFromSuperview]; 

UILabel *celladescrizioneconimmagine=[[UILabel alloc]init]; 
[celladescrizioneconimmagine removeFromSuperview]; 
/* 

[celladescrizioneconimmagine removeFromSuperview]; 
[celladescrizione removeFromSuperview]; 
*/ 
if([mediaUrl isEqualToString:noimage] == FALSE){ 


    CGRect frametitoloconimmagine = CGRectMake(105.0f, 5.0f, 210, 40); 
    cellatitoloconimmagine.frame=frametitoloconimmagine; 
    cellatitoloconimmagine.text=titolo; 
    cellatitoloconimmagine.textAlignment = UITextAlignmentLeft; 
    cellatitoloconimmagine.font = [UIFont boldSystemFontOfSize:16]; 
    cellatitoloconimmagine.numberOfLines = 2; 
    [cell.contentView addSubview:cellatitoloconimmagine]; 


    CGRect framedescrizioneconimmagine = CGRectMake(105.0f, 55.0f, 210, 50); 

    celladescrizioneconimmagine.frame=framedescrizioneconimmagine; 
    celladescrizioneconimmagine.text=descrizione; 

    celladescrizioneconimmagine.textAlignment = UITextAlignmentLeft; 
    celladescrizioneconimmagine.font = [UIFont systemFontOfSize:14]; 
    celladescrizioneconimmagine.numberOfLines = 3; 

    [cell.contentView addSubview:celladescrizioneconimmagine];  

} else {

CGRect frametitolo = CGRectMake(5.0f, 5.0f, 310, 40); 
cellatitolo.frame=frametitolo; 
cellatitolo.text=titolo; 


cellatitolo.textAlignment = UITextAlignmentLeft; 
cellatitolo.font = [UIFont boldSystemFontOfSize:16]; 
cellatitolo.numberOfLines = 2; 

[cell.contentView addSubview:cellatitolo]; 


CGRect framedescrizione = CGRectMake(5.0f, 55.0f, 310, 50); 

celladescrizione.frame=framedescrizione; 

celladescrizione.textAlignment = UITextAlignmentLeft; 
celladescrizione.font = [UIFont systemFontOfSize:14]; 
celladescrizione.numberOfLines = 3; 

celladescrizione.text=descrizione; 
[cell.contentView addSubview:celladescrizione]; 

}

return cell; 

}

Répondre

0

l'identifiant de cellule doit être unique pour les cellules uniques. Il semble que vous avez répété des cellules car elles sont toutes déquedées avec le nom @ "cellule". Retirez également le mot "statique".

Questions connexes