前沿的自动布局约束
Autolayout constraints for leading edges
我有 3 个 UIView——view1、view2、view3。我在故事板中设置约束如下:
- view1.leading = safeArea.leading + 0(约束 1 作为 IBOutlet),
- view2.leading = view1.leading,
- view3.leading = view2.leading
接下来,我在代码中更改 constraint1 中的常量。我希望 view1、view2、view3 在 view1.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)>
我做错了什么?
添加评论作为答案以方便其他人搜索
该错误看起来像您在 view1
上有 2 个主要约束,其中一个现在的常数为 5。
我有 3 个 UIView——view1、view2、view3。我在故事板中设置约束如下:
- view1.leading = safeArea.leading + 0(约束 1 作为 IBOutlet),
- view2.leading = view1.leading,
- view3.leading = view2.leading
接下来,我在代码中更改 constraint1 中的常量。我希望 view1、view2、view3 在 view1.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)>
我做错了什么?
添加评论作为答案以方便其他人搜索
该错误看起来像您在 view1
上有 2 个主要约束,其中一个现在的常数为 5。