ios - 如何用图像调整表格视图单元格的大小?
问题描述
我正在尝试制作食谱搜索应用程序。我正在尝试从 API 获取结果以及与这些结果关联的图像,并使用基本表格视图单元格将它们显示在表格视图中。
当我下载图像时,图像框架设置为其固有大小,因此它将是下载图像的尺寸。当我在此图像上设置约束时,它变小了,但您仍然可以看到框架正在影响文本放置。
这是设置约束之前的样子:https ://imgur.com/srmKJtV
这是设置约束后的样子:https ://imgur.com/DFLviBK
这是我用来设置单元格的代码:
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "recipe", for: indexPath)
cell.imageView?.translatesAutoresizingMaskIntoConstraints = false
cell.imageView?.heightAnchor.constraint(equalToConstant: 100).isActive = true
cell.imageView?.widthAnchor.constraint(equalToConstant: 100).isActive = true
cell.imageView?.image = recipeResults[indexPath.row].image
cell.textLabel?.numberOfLines = 0
cell.textLabel?.text = "\(recipeResults[indexPath.row].title)"
return cell
}
有谁知道我如何将图像保持为 100x100 并使每一行中的文本排列得很好?
我还注意到我在使单元格出列时遇到问题,因为当我单击该行或向上/向下滚动时,图像会变回正常的大尺寸而不保持小尺寸。我怎样才能解决这个问题?
解决方案
使用自定义单元格而不是basic
单元格。
通过这种方式,您将能够自定义您想要的组件。
.xib
通过或在创建您自己的自定义单元格Interface Builder
将水平添加到您的单元格中并将
UIStackView
其约束为leading
,trailing
和.top
bottom
imageView
将and添加label
到stackView
. 你应该给width
你的imageView
. 在您的情况下,它是硬编码的100
。
推荐阅读
- javascript - Javascript - 遍历数组上的元素,然后是下一个元素
- machine-learning - NLP 命名实体识别
- django - 自定义 Django 表单
- swift - 如何在 SwiftUI 中使用 UserDefaults 从 DatePicker 中保存/检索?
- php - wordpress Https 总是重定向到 http
- visual-studio - 在 Xamarin Android 中打开输入键盘时活动设计中断
- google-cloud-platform - 具有云功能的 GCP Cloud 构建未部署最新代码
- html - 从 SVG 的顶部和底部删除空白空间
元素 - java - android java mCurrentLocation.getLongitude() 试图放入一个变量来做一个get
- java - jsoup 取标签数据