2014-02-20 168 views
1

我有一些自動佈局的問題。一切變得所示正確的,一切工作正常,但我得到的命令行一些警告信息:Autolayout顯示警告消息

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:0xb6a60f0 H:[UIImageView:0xb645e40(75)]>", 
"<NSLayoutConstraint:0xb6d0e90 H:[UIView:0xb6c7350(220)]>", 
"<NSLayoutConstraint:0xb6aaea0 H:|-(10)-[UIImageView:0xb645e40] (Names: '|':UITableViewCellContentView:0xb6c1590)>", 
"<NSLayoutConstraint:0xb6c85c0 H:[UIView:0xb6c7350]-(7)-| (Names: '|':UITableViewCellContentView:0xb6c1590)>", 
"<NSLayoutConstraint:0xb6d2270 H:[UIImageView:0xb645e40]-(8)-[UIView:0xb6c7350]>", 
"<NSAutoresizingMaskLayoutConstraint:0xb6abd20 h=--& v=--& H:[UITableViewCellContentView:0xb6c1590(300)]>" 
) 

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0xb6d0e90 H:[UIView:0xb6c7350(220)]> 

Break on objc_exception_throw to catch this in the debugger. 
The methods in the UIConstraintBasedLayoutDebugging category on UIView 
listed in <UIKit/UIView.h> may also be helpful. 

這是我的筆尖文件的外觀:

enter image description here

正如你可以看到它的一個TableViewCell我使用一個視圖(示例文本)與TextView(用於iOS7)和AttributedTextView(用於iOS6)!

最新問題?

回答

2

問題是你有衝突的限制...自動佈局可能是一個痛苦....有時。 當這種情況發生在我身上時,我通常會清除所有約束,並通過選擇清除所有約束來重新開始。

之後,您也可以選擇「添加缺少的約束條件」,並希望XCode會自動知道您想要做什麼。實際上,XCode會讓它正確無誤。

從你的屏幕截圖中可以看出你有太多的約束,所以另一個選擇是嘗試一個接一個地去除,並捕捉那些「衝突」的約束。

clearing constraints

+0

感謝您的提示,我會盡力刪除每一個約束...... – Davis

+0

我個人不喜歡使用「添加缺少約束」選項。它相當難以預測,相反你應該調試出錯的地方並自己清除它。如果X-Code擰緊,可以節省很多時間。 – footyapps27

+0

@ footyapps27,一般來說,你是對的。但是,如果你正在治療約束 - 添加缺失的約束是一個快速的解決方案。 – Raz

0

集對於每個視圖translatesAutoresizingMaskIntoConstraints = NO;這就是他想要告訴你的。在運行期間你有你的約束和通用的。猜測我們會看到這個屬性在iOS版本中默認切換爲NO。

+0

感謝您的回覆,遺憾的是沒有任何改變。我做了:self.attributedTextView.translatesAutoresizingMaskIntoConstraints = NO;和self.messageTextView.translatesAutoresizingMaskIntoConstraints = NO; – Davis

+0

這是內容視圖有衝突:NSAutoresizingMaskLayoutConstraint:0xb6abd20 h = - &v = - &H:[UITableViewCellContentView:0xb6c1590(300)]>「 –