XIb中使用tableview報錯UIViewAlertForUnsatisfiableConstraints


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的高度調小解決

   
   
   

友情鏈接:

技術博客        簡書主頁


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM