Ios 如何使用图像调整表格视图单元格的大小?

Ios 如何使用图像调整表格视图单元格的大小?,ios,swift,image,tableview,Ios,Swift,Image,Tableview,我正在尝试制作一个食谱搜索应用程序。我试图从API中获取结果,以及与这些结果相关联的图像,并使用“基本表视图”单元格在表视图中显示它们 当我下载图像时,图像帧被设置为其固有大小,因此它将是下载图像的尺寸。当我在这个图像上设置约束时,它变小了,但是你仍然可以看到框架影响了文本的放置 以下是设置约束之前的情况: 以下是设置约束后的情况: 这是我用来设置单元格的代码: override func tableView(tableView:UITableView,cellForRowAt indexath

我正在尝试制作一个食谱搜索应用程序。我试图从API中获取结果,以及与这些结果相关联的图像,并使用“基本表视图”单元格在表视图中显示它们

当我下载图像时,图像帧被设置为其固有大小,因此它将是下载图像的尺寸。当我在这个图像上设置约束时,它变小了,但是你仍然可以看到框架影响了文本的放置

以下是设置约束之前的情况:

以下是设置约束后的情况:

这是我用来设置单元格的代码:

override func tableView(tableView:UITableView,cellForRowAt indexath:indexPath)->UITableViewCell{
let cell=tableView.dequeueReusableCell(带有标识符:“recipe”,for:indexath)
cell.imageView?.translatesAutoResizengMaskintoConstraints=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)”
返回单元
}
有人知道我如何保持图像为100x100,并使每行中的文本排列整齐吗


我还注意到,我在将单元格出列时遇到了一个问题,因为当我单击行或上下滚动时,图像会返回到正常的大尺寸,而不会保持小尺寸。如何解决此问题?

为您的
UIImage
设置宽度和高度限制是不够的


尝试将其设置为单元格内的垂直中心,并使用标签添加约束。我认为在故事板中设置它更容易

UIImage
设置宽度和高度约束是不够的


尝试将其设置为单元格内的垂直中心,并使用标签添加约束。我认为在故事板中设置它更容易

使用自定义单元格而不是
basic
单元格

通过这种方式,您将能够自定义所需的组件

  • 通过
    .xib
    或在
    界面生成器中创建自己的自定义单元格

  • 将水平
    UIStackView
    添加到单元格中,并约束它的
    前导
    尾随
    顶部
    底部

  • 图像视图
    标签
    添加到
    堆栈视图
    。您应该为您的
    imageView
    设置
    width
    约束。在您的情况下,它是硬编码的
    100


使用自定义单元格而不是
basic
单元格

通过这种方式,您将能够自定义所需的组件

  • 通过
    .xib
    或在
    界面生成器中创建自己的自定义单元格

  • 将水平
    UIStackView
    添加到单元格中,并约束它的
    前导
    尾随
    顶部
    底部

  • 图像视图
    标签
    添加到
    堆栈视图
    。您应该为您的
    imageView
    设置
    width
    约束。在您的情况下,它是硬编码的
    100


这是您的自定义单元格?您在这些表格视图单元格上使用的其他约束条件是什么?宽度和高度不够,您还需要提供x和y位置。在出列时添加约束不是一个好主意,因为每次
cellForRowAt
called@jawadAli这不是一个自定义单元格。我用的是故事板的“基本”风格cell@MoumenAlisawe我没有在我的故事板上使用任何约束,因为我使用的是“基本”样式的单元格。您在代码中看到的约束是我通过codeits添加的唯一约束您的自定义单元格?您在这些表视图单元格上使用的其他约束是什么?宽度和高度不够,您还需要提供x和y位置。在出列时添加约束不是一个好主意,因为每次
cellForRowAt
called@jawadAli这不是一个自定义单元格。我用的是故事板的“基本”风格cell@MoumenAlisawe我没有在我的故事板上使用任何约束,因为我使用的是“基本”样式的单元格。您在代码中看到的约束是我通过添加的唯一约束code@SmallGrammer由于其他方面的好处,我将我的评论作为回答。如果有效,请标记为已接受。@SmallGrammer由于其他好处,我已将我的评论作为答案发布。如果是工程,请标记为已接受。