首页 > 解决方案 > 前沿的自动布局约束

问题描述

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

  1. view1.leading = safeArea.leading + 0 (constraint1 作为 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)>

我究竟做错了什么?

标签: iosuiviewautolayoutstoryboardios-autolayout

解决方案


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

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


推荐阅读