开发者

iPhone Problem with custom cell

开发者 https://www.devze.com 2023-01-19 04:28 出处:网络
I try this code but it\'s a mistake because i have a repetition of title and description... Someone can help me please?

I try this code but it's a mistake because i have a repetition of title and description... Someone can help me please?

- (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 *noimage=@"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 boldS开发者_运维百科ystemFontOfSize: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;

}


the cell identifier must be unique for unique cells. It seems you have repeated cells because they are all dequed with name @"cell". Also remove the "static" word.

0

精彩评论

暂无评论...
验证码 换一张
取 消