1

我正在尝试使图像 100% 成为单元格的高度,但它似乎没有正确更新。

我创建了一种特殊getCellHeightFromData方法,旨在根据文本长度计算高度。我还有一个名为的方法getRestaurantPictureById,它从 Web 服务器下载图像,该服务器响应调整为特定宽度和高度的图像,并将其作为UIImage.

我想将其设置为UIImageView与加载的图像相同的宽度和高度。我可以访问宽度和高度作为浮点数,所以这不是问题。

UIImageView 插座看起来像这样

@property (weak, nonatomic) IBOutlet UIImageView *Thumbnail;

我尝试调整图像大小(从我的 UITableViewCell 子类中)

- (void)updateCellWithContent:(RestaurantCell*)restaurant
{
    self.NameLabel.text = [restaurant name];
    
    float width = 75.0;
    float height = [RestaurantCell getCellHeightFromData:restaurant];
    
    self.Thumbnail.frame = CGRectMake(self.Thumbnail.frame.origin.x, self.Thumbnail.frame.origin.y, width, height);
    self.Thumbnail.image = [DataLoader getRestaurantPictureById:restaurant.restaurantId withWidth:width andHeight:height];
}

当我跑步时,它看起来不正确,但是如果我滚动以使一个单元格消失,然后让它反弹回来,它就会以正确的(100%)高度重新绘制。

在滚出视线之前

前

将第一个单元格滚动到视线之外并让它反弹回来后

在此处输入图像描述

有任何想法吗?提前致谢 :)

4

2 回答 2

2
  1. 去选择你的UIimage
  2. 之后去显示属性检查器和查找模式。
  3. 选择左上角。

祝你有美好的一天。

于 2013-11-11T20:14:31.193 回答
0

您可能需要实现该UITableViewDelegate方法

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

并确保它返回正确的值。然后,无论您在何处设置单元格高度(例如 in tableView:cellForRowAtIndexPath:),您都可以调用此方法来获取高度值。基本上,您要确保每行的高度都有一个值,而不是多个值。

于 2013-11-11T20:14:55.873 回答