【问题标题】:UIImageView streches over entire row height of UITableViewCellUIImageView 延伸到 UITableViewCell 的整个行高
【发布时间】:2018-11-09 20:52:31
【问题描述】:

简介:

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

问题:

当所有数据都加载到 TableView 中时,图像会跨越整个行高。

我正在努力寻找解决方法几个小时。目前,在原型单元格中,我有一个堆栈视图,其中包含 2 个标签和一个 ImageView,具有一个垂直轴和一个均匀填充分布。 堆栈视图(2 个标签和 ImageView)内的视图没有任何约束,我没有在代码中编辑任何约束,以使其尽可能简单。 在使用堆栈视图之前,我也尝试了约束方法,但结果相同。

Image Of The Stack View

The Result in the Simulator(没有图片的行,没有api提供的图片url,所以直接跳过)。

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

【问题讨论】:

  • 你有什么理由必须使用堆栈视图吗?我认为这是约束问题
  • 不要使用堆栈视图。使用约束
  • 我使用堆栈视图来简单地处理事情,我尝试不使用它,只是在项目之间使用约束,但我得到了相同的结果。
  • 尝试将图像高度和宽度设置为 10x10 约束
  • 是的,使用约束

标签: ios swift uitableview autolayout


【解决方案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

这些应该会有所帮助。

【讨论】:

    【解决方案2】:

    我认为你的方向是正确的。

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

    1. 将 StackView Distribution 从 Fill equal 更改为 Fill
    2. 应用 StackView(leading,trailing,top,bottm) = 单元格(前导、尾随、顶部、底部)
    3. 将 tableView 的 rowHeight 设置为 300 或任何您想要的值

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-07
      • 1970-01-01
      • 2013-06-08
      • 2015-08-29
      • 2018-01-27
      • 1970-01-01
      • 2019-05-16
      相关资源
      最近更新 更多