1.使用斷點工具並不能找出錯誤,最后仔細看了下報錯信息
2.報錯信息
[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:0x608000098a60 UIView:0x7fcb7b428fe0.height == 50 (active)>",
"<NSLayoutConstraint:0x608000098060 V:|-(0)-[UIView:0x7fcb7b428fe0] (active, names: '|':UITableViewCellContentView:0x7fcb7b42bd40 )>",
"<NSLayoutConstraint:0x608000097b60 V:[UIView:0x7fcb7b42ed00]-(0)-| (active, names: '|':UITableViewCellContentView:0x7fcb7b42bd40 )>",
"<NSLayoutConstraint:0x608000097c00 V:[UIView:0x7fcb7b428fe0]-(0)-[UIView:0x7fcb7b42ed00] (active)>",
"<NSLayoutConstraint:0x60000009bf80 'UIView-Encapsulated-Layout-Height' UITableViewCellContentView:0x7fcb7b42bd40.height == 49.5 (active)>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x608000098a60 UIView:0x7fcb7b428fe0.height == 50 (active)>
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.
3.分析
"<NSLayoutConstraint:0x608000098a60 UIView:0x7fcb7b428fe0.height == 50 (active)>",
"<NSLayoutConstraint:0x60000009bf80 'UIView-Encapsulated-Layout-Height' UITableViewCellContentView:0x7fcb7b42bd40.height == 49.5 (active)>"
第一句代碼信息是視圖中有個界面的高度為50;
第二句中意思是cell_contentView的高度為49.5;
問題就來了
contentView沒有我設置的自視圖大,而且我對cell設置了clips to view = YES。
約束就存在了沖突,xcode報錯提示。
把cell的高度調大或者view的高度調小解決
友情鏈接:
技術博客 簡書主頁