UIImageView在UITableViewCell

时间:2018-11-09 20:52:32

标签: ios swift uitableview autolayout

简介:

您好,我正在开发一个“新闻”应用,该应用在线使用新闻API。我想在TableView中显示最新新闻的内容(当前,我想显示新闻项的标题,发布该新闻项的组织的名称(例如BBC)以及从给定加载的图像链接)。我在“主要”故事板中拖动了一个表格视图,为单个新闻项创建了一个自定义单元,并从互联网上获取了所有必需的信息。

问题:

当所有数据都加载到TableView中时,图像会在整个行的高度上拉伸。

我现在正试图寻找解决方法,时间长达数小时。目前,在原型单元中,我有一个堆栈视图,其中包含2个标签和一个ImageView,具有一个垂直轴和一个相等的填充分布。 堆栈视图(两个标签和ImageView)内部的视图没有任何约束,并且我不编辑代码中的任何约束以使其尽可能简单。 在使用堆栈视图之前,我还尝试了约束方法,但结果相同。

Image Of The Stack View

The Result in the Simulator(没有图像的行,没有api提供的图像url,所以我就跳过它们)。

我尝试尽我所能表达有关此问题的信息,如果您仍然缺少一些信息,请告诉我

2 个答案:

答案 0 :(得分:1)

您遇到的问题是由于约束问题。应该通过拆开视图并放入约束来解决该问题。

您仍然可以使用它们来实现可扩展的应用程序。 如果您对操作方法感到困惑,请参阅https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/WorkingwithConstraintsinInterfaceBuidler.html

https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/AnatomyofaConstraint.html

这些应该有帮助。

答案 1 :(得分:0)

我认为您的方向正确。

如果要静态(固定)布局,请按照以下步骤操作。

  1. 将StackView分布从“填充”平均更改为“填充”
  2. 应用StackView(leading,trailing,top,bottm)= 单元格(前导,尾随,顶部,底部)
  3. 将tableView rowHeight设置为300或您想要的任何值

如果要动态布局,请按照以下步骤操作

https://www.raywenderlich.com/1067-self-sizing-table-view-cells