【问题标题】:ios Auto Layout Constraint Issueios自动布局约束问题
【发布时间】:2016-02-04 20:37:03
【问题描述】:

将我的 xcode 升级到 7 后,我在自动布局中遇到了问题。我已经在视图控制器中放置了一个容器,我为其设置了父视图的前导和等于宽度(这意味着我需要在屏幕的全宽上使用容器)每件事都运行良好,但问题在于该容器的前导约束.我必须将前导约束常数设置为 -20,然后它在 6plus 上看起来很完美,但对于所有其他设备 -16 会产生相同的结果。

【问题讨论】:

  • 设置约束时可能需要取消选中“约束到边距”?

标签: ios autolayout constraints ios9 xcode7


【解决方案1】:

我认为将间距约束从容器添加到超级视图会更容易。如果您将前导空格、尾随空格、顶部空格和底部空格定义为没有边距的“0”,则无论 iO 版本和设备类型如何,容器都应具有设备的确切大小。

【讨论】:

  • 它对我不起作用。我已将容器的前导设置为超级视图,并将其宽度设置为超级视图,并将前导约束常量设置为 -16。当我将常量更新为 0 时,它会从前导增加 6 加的空间。
  • "equals its width" --> 如果它必须不完全是超级视图的宽度,我只会使用约束。据我了解,您希望容器具有超级视图的确切宽度。如果你创建一个值为“0”的“Leading Space”约束和一个值为“0”的“Trailing Space”约束,你不必为容器本身定义宽度,因为自动布局会调整它的大小以适应.试试这样:)
【解决方案2】:

解决您的问题的最简单方法是转到您的 Storyboard 场景或 nib 文件,单击层次结构中的最顶层视图,最后从以下四个选项中单击 解决自动布局问题 按钮右下角和更新帧。

Xcode 将负责休息。

发生这种情况是因为从 Xcode 7 iOS 9 开始,Apple 希望我们为 UI 视角留出至少 20 个点的前导或尾随空间。

【讨论】:

  • 更新框架选项被禁用,布局中没有任何警告/错误
  • 嘿,我想我误解了你的问题。代替前导空格和尾随空格限制,请选择水平居中,垂直居中,等宽等高完成。
猜你喜欢
  • 2015-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多