【问题标题】:How to set constraints to multiple UIImageView's in Swift如何在 Swift 中为多个 UIImageView 设置约束
【发布时间】:2017-10-12 18:24:47
【问题描述】:

经过数小时的尝试寻找解决方案,以及尝试和失败的自己,我决定在这里提问。

如下图所示,我有 15 个金字塔形状的图像视图,我想对其设置约束。

我已经尝试过:

  1. 限制所有图片的宽度和高度相等
  2. 将第 1、3 和 5 行的中心图像约束到水平中心
  3. 将垂直中心与每行上的所有图像对齐
  4. 等等等等

结果总是图像视图超出范围或出现类似问题。 (剪辑到边界是真的)

有人有解决方案或建议吗?

【问题讨论】:

  • 目前尚不清楚您的约束应该是什么(不是在代码中,而是在您之后的布局)。各个视图的大小是固定的,还是与可用的屏幕大小成比例?水平/垂直边距如何?

标签: swift swift3 constraints


【解决方案1】:

尝试将它们全部放在堆栈视图中,然后将所有这些堆栈视图放在堆栈视图中并对其施加约束

像这样看看左边的视图层次结构

要获得我实现的间距,只需调整属性检查器右侧的间距

它甚至可以对最高堆栈视图进行约束

一旦您将约束添加到顶部堆栈视图,所有错误都会消失

如图所示

【讨论】:

  • 不,可以添加宽度、高度、前导、尾随等。除了堆栈视图中不需要约束我将上传图像以显示我的意思
  • 只有在stackview内有其他视图时才能在stackview内添加约束 stackview>View>elements(现在只能添加约束)
  • 让我上传图片以显示我的意思 检查我的答案是否直观了解我的意思
  • 我实现了他的确切问题,并且没有使用约束完全按照我所说的堆栈视图实现
  • 查看你的视图控制器它自己显示约束错误
【解决方案2】:

将所有的 imageView 嵌入到 UIView 中。

在该视图内设置顶部、底部、前导和尾随约束(顶部图像到父视图等)。

在容器中水平和垂直对齐 UIView。

您可能还想为您的 UIView 设置宽度,但我让您考虑您想要的最终结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-06
    • 2015-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多