問題描述:
[LayoutConstraints] Unable to simultaneously satisfy constraints.不能同時地滿足約束
解決方法:
1. Will attempt to recover by breaking constraint?
<NSLayoutConstraint:0x604000293f10 UIImageView:0x7fc857b60980.height == 45>
通過改變?UIImageView:0x7fc857b60980的height來滿足約束豺型,這里我們可以到對應(yīng)設(shè)置約束的界面,找到可能約束有問題的UIImageView弟劲,查看約束是否有問題,并且改之稻薇。我一般都是通過這種方式來解決問題的沟涨。
2. Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
使用symbolic breakpoint來抓取不合適約束
第一步
在Symbol后的輸入框處填入UIViewAlertForUnsatisfiableConstraints標(biāo)志
第二步? 在action里面添加調(diào)試命令
Obj-C project
po [[UIWindow keyWindow] _autolayoutTrace]
Swift project
expr -l objc++ -O -- [[UIWindow keyWindow] _autolayoutTrace]
第三步 xcode控制臺會打印出詳細的約束信息况毅,在控制臺搜索AMBIGUOUS分蓖,含有AMBIGUOUS的約束都可能有問題。
這種方法看上去挺專業(yè)的尔许,說實話效率不是很高咆疗,推薦使用第一種方法。
3.The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in may also be helpful.
這種方法還未試過母债,以后試過后添加上來。