UIImageView大小直到看不见才会更新

时间:2013-11-11 20:08:21

标签: ios cocoa-touch uitableview uiimage

我正在尝试将图像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%)高度重新绘制。

滚动视线之前

Before

滚动第一个单元格后,让它反弹

enter image description here

有什么想法吗?提前致谢:)

2 个答案:

答案 0 :(得分:2)

  1. 选择您的UIimage
  2. 然后去显示属性检查器和查找模式。
  3. 选择左上角。
  4. 祝你有个美好的一天。

答案 1 :(得分:0)

您可能需要实施UITableViewDelegate方法

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

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