Xcode图像占用整个tableView而不是单元格

时间:2018-04-05 10:08:34

标签: ios xcode uitableview

所以我正在创建一个我将在稍后使用的原型。

我有一个带有一个单元格的表格视图,然后我将使整个表格填充几个单元格(这是有效的)

我的问题是,我单元格上的图像,而不是占用单元格占据整个表格视图如下

有什么想法吗?

由于

Storyboard

Simulator

修改

回复:https://bitbucket.org/eduardoreecreate/coderswag-ios

3 个答案:

答案 0 :(得分:0)

尝试将图像视图的内容类型设置为AspectFit,将ClipToBounds设置为true

答案 1 :(得分:0)

实施heightForRowAt UITableView代理

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    return 150 
   // Customize or write a logic as per your requirement like for 1/4 of screen UIScreen.main.bounds.size.height / 4
}

如果在IB中选择单元格,则大小检查器会在顶部显示行高(使用"自定义"复选框),但如果选择整个表格视图,则大小检查器会显示行高那里的顶部(没有"自定义"在这种情况下)。表格视图设置用于动态单元格。 (不确定它是否有意)

enter image description here

答案 2 :(得分:0)

默认情况下,自动布局影响下的图像视图需要是图像的大小。你的形象很大。因此图像视图很大。因此,单元格本身很大,因为您自动调整单元格高度以匹配其内容的高度。

简单的解决方案是:不要那样做!在将图像放入单元格之前,将其固定在代码中以使其高度正确。在任何情况下将巨大的图像放入一个小的表格单元格或任何小图像视图中是非常愚蠢的,因为你仍然在浪费所有的记忆。在将图像放入界面之前,请务必先剪裁/缩小图像。

更精细的是,您可以为图像视图提供绝对高度约束,以防止它超出某个高度。或者,正如您已经被告知的那样,不要使用自动细胞高度;通过实施heightForRow将单元格高度设置为某个绝对值。