【问题标题】:Autolayout constraints for leading edges前沿的自动布局约束
【发布时间】:2019-05-28 01:08:12
【问题描述】:

我有 3 个 UIView——view1、view2、view3。我在情节提要中设置约束如下:

  1. view1.leading = safeArea.leading + 0(约束 1 为 IBOutlet),
  2. view2.leading = view1.leading,
  3. view3.leading = view2.leading

接下来,我在代码中更改constraint1 中的常量。我希望 view1、view2、view3 在 vi​​ew1.leading 改变时自动重新对齐。但是我得到了自动布局错误:

 [LayoutConstraints] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want. 
Try this: 
    (1) look at each constraint and try to figure out which you don't expect; 
    (2) find the code that added the unwanted constraint or constraints and fix it. 
 (
"<NSLayoutConstraint:0x283317a70 UIView:0x10321f7d0.leading == UILayoutGuide:0x28290ddc0'UIViewSafeAreaLayoutGuide'.leading   (active)>",
"<NSLayoutConstraint:0x283316bc0 UIView:0x10321f7d0.leading == UILayoutGuide:0x28290ddc0'UIViewSafeAreaLayoutGuide'.leading + 5   (active)>"
 )

  Will attempt to recover by breaking constraint 
   <NSLayoutConstraint:0x283316bc0 UIView:0x10321f7d0.leading == UILayoutGuide:0x28290ddc0'UIViewSafeAreaLayoutGuide'.leading + 5   (active)>

我做错了什么?

【问题讨论】:

  • 向我们展示约束以及您如何更改该约束的常量。似乎添加了另一个约束。
  • constraint1.constant = 5
  • 你能分享显示它们何时以及如何被调用的相关代码吗?
  • 该错误看起来像您在 view1 上有 2 个主要约束,其中一个现在的常量为 5。
  • 让我分享来自 Storyboard 的屏幕截图。

标签: ios uiview autolayout storyboard ios-autolayout


【解决方案1】:

添加评论作为答案,方便其他人搜索

该错误看起来像您对 view1 有 2 个主要约束,其中一个现在的常量为 5。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-17
    • 2015-04-02
    • 2012-10-07
    • 2015-04-06
    • 2016-07-30
    相关资源
    最近更新 更多