UIStackView"无法同时满足约束"在"压扁"隐藏视图 [英] UIStackView "Unable to simultaneously satisfy constraints" on "squished" hidden views
问题描述
当我UIStackView行被压扁,他们扔自动版式警告。但是,他们显示效果细腻,没有别的是错误的,除了这类测井公司的:
When my UIStackView "rows" are squished, they throw AutoLayout warnings. However, they display fine and nothing else is wrong besides these sorts of loggings:
无法同时满足约束条件。
大概在以下列表中的约束条件中的至少一个是一个你不想要的。试试这个:(1)看一下每个约束和揣摩,你不要指望; (2)找到code,它增加了不必要的约束或限制并修复它。 (注:如果你看到你不明白NSAutoresizingMaskLayoutConstraints,请参阅文档UIView的财产translatesAutoresizingMaskIntoConstraints)
(
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. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints) (
所以,我不知道如何解决还没有这一点,但它似乎并没有破坏任何东西,除了只是被恼人的。
So, I'm not sure how to fix this yet, but it doesn't seem to break anything besides just being annoying.
有谁知道如何解决呢?有趣的是,布局限制的标签往往是'UISV隐藏,这表明或许应该忽略在这种情况下的子视图或某事的高度最低?
Does anyone know how to solve it? Interestingly, the layout constraints are tagged quite often with 'UISV-hiding', indicating that perhaps it should ignore the height minimums for subviews or something in this instance?
推荐答案
您因为在 UIStackView
设置子视图时隐时得到这个问题,它会首先限制其高度为零,以动画它。
You get this issue because when setting a subview from within UIStackView
to hidden, it will first constrain its height to zero in order to animate it out.
我收到以下错误:
2015-10-01 11:45:13.732 <redacted>[64455:6368084] 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. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints)
(
"<NSLayoutConstraint:0x7f7f5be18c80 V:[UISegmentedControl:0x7f7f5bec4180]-(8)-| (Names: '|':UIView:0x7f7f5be69d30 )>",
"<NSLayoutConstraint:0x7f7f5be508d0 V:|-(8)-[UISegmentedControl:0x7f7f5bec4180] (Names: '|':UIView:0x7f7f5be69d30 )>",
"<NSLayoutConstraint:0x7f7f5bdfbda0 'UISV-hiding' V:[UIView:0x7f7f5be69d30(0)]>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x7f7f5be18c80 V:[UISegmentedControl:0x7f7f5bec4180]-(8)-| (Names: '|':UIView:0x7f7f5be69d30 )>
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
我要怎样做,就是把一个的UIView
中的我的 UIStackView
包含一个 UISegmentedControl
通过在每个边缘8分插图。
What I was trying to do, was to place a UIView
within my UIStackView
that contained a UISegmentedControl
inset by 8pts on each edge.
当我将它设置为隐藏,它会尝试将容器视图限制到零高度,但因为我有一组约束从上到下,有一个矛盾。
When I set it to hidden, it would try to constrain the container view to a zero height but because i have a set of constraints from top to bottom, there was a conflict.
要解决这个问题,我改变了我的8PT顶部的底部约束优先,从1000到999,在 UISV隐藏
约束如果需要的话就可以优先。
To resolve the issue, I changed my 8pt top an bottom constraints priority from 1000 to 999 so the UISV-hiding
constraint can then take priority if needed.
这篇关于UIStackView&QUOT;无法同时满足约束&QUOT;在&QUOT;压扁&QUOT;隐藏视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!