【问题标题】:Adjust UIImageView to heigth of UILabel将 UIImageView 调整为 UILabel 的高度
【发布时间】:2020-06-06 03:40:20
【问题描述】:

我有一个 UIImageView 和一个 UILabel 彼此相邻,水平间距约束为 0,垂直对齐约束。现在我希望图像与标签一样高 80%,所以我设置了一个等高约束,乘数为 0.8。但现在不是图像缩小图像,标签变得疯狂地大。由于图像小于标签,因此仍然应用约束,但它们只是很大。我的猜测是约束根据图像而不是相反来调整标签的大小。那我怎么能告诉它做我想做的呢?

【问题讨论】:

  • 你需要考虑一些约束的优先级,exp。 等高和contentHugging设置
  • 代码可以提供帮助。更新你写的代码。
  • @DerSeegler 我的回答对你有帮助吗?
  • @AbhirajKumar 没有代码。我在故事板中做了所有我解释的约束。
  • @DerSeegler - 为你的UILabel,设置Content Hugging Priority -> Vertical: 1000

标签: ios image uiimageview autolayout


【解决方案1】:

您是否想像我在下图中显示的那样实现? UIImageView 视图的高度是 UILabel 的 80%?

如果是,那么Height 约束将是这里的关键。

  1. 选择两个 UI 元素并应用 Equal Heights 约束
  2. 它将使两者的高度相同。
  3. 然后选择UIImageView的Height Constraint并添加 Multiplier = 0.8 在Size inspector

首先将逐个约束应用于每个元素以按预期方式显示,然后添加Equal Heights 约束。它将显示冲突,因为已经存在其他约束,然后应用Multiplier = 0.8,最后您可以删除不需要的约束,即Fixed Height。

为避免根据图像自动调整UIImageView 的大小,您需要为UILabel 修复Height 约束。

【讨论】:

  • 问题是我不希望标签有一个固定的高度。我希望它基于其内容而增长,然后图像基于它。
猜你喜欢
  • 2014-09-30
  • 2012-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-19
  • 2014-02-11
  • 2010-10-01
  • 1970-01-01
相关资源
最近更新 更多