gpt4 book ai didi

ios - 第四个 UITableViewCell 重用第一个单元格的高度

转载 作者:行者123 更新时间:2023-11-30 14:11:11 24 4
gpt4 key购买 nike

我有一个从 Parse 检索图像的 TableView。图像长宽比各不相同。我对其进行了设置,以便更改图像的宽度以匹配用户设备的宽度,并且调整高度以匹配宽高比。

我的问题是,每当我运行应用程序时,前三个单元格运行得很好,但第四个单元格仅获取第一个单元格的高度,因此图像具有信箱效果。与第五和第六个单元格相同,依此类推(第五个单元格取第二个单元格的高度,第六个单元格取第三个单元格的高度,第七个单元格取第四个单元格的高度,第四个单元格的高度为第一个单元格的高度,依此类推)。

解决这个问题的最佳方法是什么?

如果您需要查看更多代码,请告诉我。我不确定是否还有其他相关的事情。

TableViewController

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! HomeScreenTableViewCell

tableView.estimatedRowHeight = 100
tableView.rowHeight = UITableViewAutomaticDimension

//image retrieved from Parse
imageFiles[indexPath.row].getDataInBackgroundWithBlock { (data, error) -> Void in
if let downloadedImage = UIImage(data: data!)
{
cell.postedImage.image = downloadedImage
}

}

cell.postId = postId[indexPath.row]
cell.username.text = usernames[indexPath.row]
cell.delegate = self
return cell
}

最佳答案

您是否正在实现 heightForRowAtIndexPath 方法?由于高度可变,因此还必须实现该方法,以便每当创建或重用新单元格时,都会设置正确的高度。您可以将所有高度存储在数组中,也可以从 Parse 返回的数组图像中获取它。在 Objective C 中会是这样的,但我很确定你也可以在 Swift 上做到这一点。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return images[indexPath.row].height;
}

希望这有帮助。

关于ios - 第四个 UITableViewCell 重用第一个单元格的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31750729/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com