【问题标题】:Stack View Preview correct but incorrect on BuildStack View Preview 正确但在 Build 上不正确
【发布时间】:2016-09-06 18:45:55
【问题描述】:

我正在尝试学习堆栈视图并遇到了一个令人沮丧的问题。我的应用在预览窗口中看起来正确:

但是当我去运行应用程序时,它看起来并不一样:

这是我目前的限制:

我没有任何约束警告。

编辑:堆栈视图设置:

【问题讨论】:

  • 您的堆栈视图设置是什么?我们可能还需要知道您的图像视图设置是什么(例如 Aspect Fit 等...)。
  • 我已经添加了上面的 Stack View 设置,两个图像都是 Aspect Fill
  • 您的Distribution 属性不应该是Fill Equally,所以每个UIImageView 的大小都相同吗?
  • 我也尝试过“平等填充”,但似乎也有相同的行为。需要注意的一件事是它在横向模式下看起来是正确的,只有纵向有问题。
  • 检查你的约束:1)确保UIStackView的前导和尾随约束将其固定到它的SuperView2)保持UIStackView的当前高度3)Kayaking-On-The-James图像似乎有一些积极的约束。这些是什么?它们可能与尝试设置高度和宽度的UIStackView 冲突。我会删除它们,只让UIStackView 布置图像。

标签: ios storyboard uistackview


【解决方案1】:

从表面上看,将堆栈视图的宽度设置为 600 会导致问题。没有 iOS 设备是 600 点宽,所以要么该约束将被打破,要么更糟糕的是,它将被强制执行并导致其他视图布局错误。您应该固定堆栈视图的前导、尾随和顶部,然后固定底部或具有静态高度。然后为您的图像设置等宽、等高限制。

您还应该确保在您的图像视图的属性检查器中选中“剪辑子视图”。

这个视图层次结构和约束,带有图像视图内容模式方面填充,似乎对我有用:

【讨论】:

  • 我已经尝试了相同的配置,但我没有看到任何变化 - 这可能与我的图像大小有关吗?
  • 您还应该确保在您的图像视图的属性检查器中选中“剪辑子视图”。
猜你喜欢
  • 2021-08-20
  • 1970-01-01
  • 2016-09-19
  • 2014-08-18
  • 1970-01-01
  • 2017-12-03
  • 1970-01-01
  • 2021-04-03
  • 1970-01-01
相关资源
最近更新 更多