我使用大量addConstraint:
次调用以编程方式布局相当复杂的视图层次结构。所有内容都按预期显示和工作,但是,某些操作会在调试器中产生一条警告消息:
Unable to simultaneously satisfy constraints.
... details of the constrains ...
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.
当我按照调试器的建议设置断点时,我将警告跟踪到一个设置contentOffset
UIScrollView
Will attempt to recover by breaking constraint ...
的调用。调试器说:
contentOffset
但从视觉上看,约束似乎没有被破坏,一切看起来都是正确的。
为什么scrollView&#39; UIScrollView
中的更改会更改与约束相关的任何内容?即使我在屏幕上看不到任何错误,为什么调试器会抱怨呢?
修改 :这与contentSize
上的约束与其bounds
而不是contentOffset
相关的事实有关所有其他观点。我有一个视图在其superview(它是一个scrollView)和scrollView之外的另一个视图中有约束。当{{1}}发生变化时,就无法满足这两者。
答案 0 :(得分:0)
约束部分的细节对您很重要。从您追踪问题的区域来看,它可能是scrollview的宽度/高度约束问题;但是,您可以通过查看约束详细信息括号中的数字来查看哪些约束是个问题。
请发布整个区块。