当我的 UIStackView 行"被压扁时,它们会抛出 AutoLayout
警告.但是,它们显示正常,除了这些日志记录之外没有其他问题:
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) 找到添加了一个或多个不需要的约束的代码并修复它.(注意:如果您看到不理解的 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 theUIView
propertytranslatesAutoresizingMaskIntoConstraints
) (
所以,我还不确定如何解决这个问题,但除了烦人之外,它似乎并没有破坏任何东西.
So, I'm not sure how to fix this yet, but it doesn't seem to break anything besides just being annoying.
有人知道怎么解决吗?有趣的是,布局约束经常被标记为 'UISV-hiding',这表明它可能应该忽略子视图的最小高度或在这种情况下?
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.
我试图做的是在我的 UIStackView
中放置一个 UIView
,其中包含一个 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-hiding
约束可以在需要时获得优先级.
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“无法同时满足约束"在“压扁"上隐藏视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!