gpt4 book ai didi

ios - 当两个 TableView 单元格具有大部分相同的组件时,只设置一次值

转载 作者:行者123 更新时间:2023-11-29 02:14:17 25 4
gpt4 key购买 nike

我有两个原型(prototype)单元格。大多数用户界面都是相同的,除了一个有 ImageView 而另一个没有。情况是在 cellForRowAtIndexPath 中,当我为这些单元格的标签设置值时。我每次都必须在两个单元格中设置它们。我可以只设置一次并且只为只有 ImageView 的单元格设置图像吗?

例如:


override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
让 place = places[indexPath.row] 作为 Place
如果 indexPath.row == 0 {
让 cell = tableView.dequeueReusableCellWithIdentifier("ImageCell", forIndexPath: indexPath) as ImageCell
cell.nameLabel = 名称[indexPath.row]
cell.screeNameLabel = screenNames[indexPath.row]
cell.createAtLable = place.createdAt.shortTimeAgoSinceNow()
cell.profileImageView.hnk_setImageFromURL(imageURL)
返回单元格
} 别的 {
让 cell = tableView.dequeueReusableCellWithIdentifier("BaseCell", forIndexPath: indexPath) as BaseCell
cell.nameLabel = 名称[indexPath.row]
cell.screeNameLabel = screenNames[indexPath.row]
cell.createAtLable = place.createdAt.shortTimeAgoSinceNow()
返回单元格
}
}

如您所见,两个单元格具有相同的 nameLabel、screeNameLabel、createAtLable。我怎么只需要设置一次?上面的代码只是一个例子。我目前的项目,我在单元格中有很多 ui,它们基本上是一样的,除了一个有图像而一个没有。

顺便问一下,对于这种情况,最好的方法是什么。当一个单元包含大部分相同的组件时,只有少数组件不同。使用多个原型(prototype)单元是最好的方法吗?

最佳答案

可以通过自动布局来解决。您可以使用相同的单元原型(prototype)。如果你想让 ImageView 根据不同的图像高度扩展,你需要做的是设置 ImageView 的高度为“大于或等于0”,或者如果你想让 ImageView 高度为“小于或等于某个常数”是固定的。由于imageView具有固有的内容高度和宽度,它会根据您加载的内容扩展或缩小。关键是当没有内容时,使 ImageView 高度为0。

关于ios - 当两个 TableView 单元格具有大部分相同的组件时,只设置一次值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28936075/

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