【问题标题】:How to maintain bottom space when image and growing label are being used in parallel in swift?快速并行使用图像和增长标签时如何保持底部空间?
【发布时间】:2021-08-03 14:32:49
【问题描述】:

我有 3 个元素,图像视图、标签和视图。我想为底视图保留 eqaul 空间 (15)。布局如下: Imageview 然后标签,在底部,有一个视图。我已经从imageview定义了视图的顶部约束> = 15,从标签定义了84,但是当标签超出imgeview时我想下推视图。现在发生了什么,当标签进入新行并且标签和底部视图之间有超过 15pt 的空间时,视图正在向下推,这是我不想要的。

【问题讨论】:

  • 尝试在底部视图 >= 15 的情况下添加底部约束(来自图像和标签)。它会在情节提要中显示错误,但在运行时是可行的。

标签: ios swift xcode autolayout


【解决方案1】:

可能最简单的方法是将图像视图和标签放在水平堆栈视图中,对齐设置为顶部:

堆栈视图被限制在 16 点顶部/前导/尾随,以及 15 点到“蓝色视图”。

在运行时,标签中的文本数量不同:

【讨论】:

  • 谢谢@DonMag,通过使用堆栈视图来实现这一点是目前最好的方法,使用堆栈视图只有一个问题,我们不能给标签提供顶部约束来推送低至 15pt
  • @AbhayjeetSingh - 您希望标签的上边缘比图像视图的上边缘低 15 分吗?或者,您是否希望标签垂直居中在图像视图上(如果文本很短)?
  • 我希望标签的上边缘比图像视图的上边缘低 15-pts
  • 选择标签...选择嵌入在 UIView... 将标签限制在 15 点顶部,零前导/尾随/底部
【解决方案2】:

  1. 这是故事板的屏幕截图。
  2. 这是来自模拟器运行的应用程序,其标签小于图像。
  3. 这是来自模拟器运行的应用程序,其标签大于图像推送底部视图。

【讨论】:

  • 你已经完全理解了问题
  • 为您的解决方案添加了评论。请检查一下
猜你喜欢
  • 1970-01-01
  • 2015-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-22
  • 2011-12-24
相关资源
最近更新 更多