在TableView中不正确的图像大小

我正在创build一个包含来自URL的图像的表格视图,但是图像不会重新调整到所有视图的大小,直到我将其预先设置在行中。 任何想法为什么发生? 这是一个自定义的tableview

我的代码是:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *CellIdentifier = @"Celula_Noticias"; Celula_Noticias *cell = (Celula_Noticias*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { NSArray * top= [[NSBundle mainBundle] loadNibNamed:@"Celula_Noticias" owner:self options:nil]; for(id currentObject in top){ if ([currentObject isKindOfClass:[Celula_Noticias class]]) { cell= (Celula_Noticias *) currentObject; break; } } } cell.Image_Noticias_1.image=[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[[noticias objectAtIndex:indexPath.row ] objectAtIndex:0]]]]; cell.Image_Noticias_2.image=[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[[noticias objectAtIndex:indexPath.row ] objectAtIndex:2]]]]; cell.Titulo_Noticias_1.text=[[noticias objectAtIndex:indexPath.row ] objectAtIndex:1]; cell.Titulo_Noticias_2.text=[[noticias objectAtIndex:indexPath.row ] objectAtIndex:3]; return cell; 

}

该表正确填充,但图像不开始与正确的大小。

我曾尝试使用CGRectMake,但它仍然没有工作。

谢谢。

创build一个函数来处理下载的图像:

 - (UIImage*)postProcessImage:(UIImage*)image { CGSize itemSize = CGSizeMake(50, 50); UIGraphicsBeginImageContext(itemSize); CGRect imageRect = CGRectMake(0.0, 0.0, itemSize.width, itemSize.height); [image drawInRect:imageRect]; UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return newImage; } 

上面的function会给你一个50 * 50的漂亮图像。

那么你可以这样做:

 UIImage* downloadedImage = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"...url goes here..."]]]; UIImage* newImage = [self posProcessImage:downloadedImage]; cell.imageView.image=newImage 

我认为,你正在使用的UIImageView ,你应该改变它的属性方面适合(如果不是这样)

我已经解决了这个问题…我在Xib文件中的tableviewcell里的视图比tableviewcell大,所以它开始不正确(我现在不明白为什么),但现在表正确填写..

谢谢大家