2

私は現在この問題に直面しています。動的な高さの UITableViewCell を定義する必要があります。

ここに画像の説明を入力

赤い線はサイズ変更可能なビュー (垂直方向に拡大) に対応し、青いラベルには 3 つの制約があります: すぐ上の赤いビュー (>= 8) ごとに 2 つ、170 で優先度が低いスーパービューにもう 1 つ。

緑のものには、スーパービューへの下部制約があります (5)

コードを実行しようとすると、次のようになります。

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:0x19d65bb0 V:[UIView:0x19d9a9a0(5)]>",
 "<NSLayoutConstraint:0x19d667d0 V:[UILabel:0x19de4180(19)]>",
 "<NSLayoutConstraint:0x19d5ba70 V:[UILabel:0x19d61870(19)]>",
 "<NSLayoutConstraint:0x19d36df0 V:[UILabel:0x19d36e80(19)]>",
 "<NSLayoutConstraint:0x19d35d30 V:[UIView:0x19d36130(0)]>",
 "<NSLayoutConstraint:0x19e7b310 V:|-(5)-[UILabel:0x19d6b520]   (Names: '|':UITableViewCellContentView:0x19d97580 )>",
 "<NSLayoutConstraint:0x17d0b060 V:[UILabel:0x19d6b520]-(5)-[UIView:0x19d9a9a0]>",
 "<NSLayoutConstraint:0x17d0a480 V:[UIView:0x19d9a9a0]-(8)-[UILabel:0x19de4180]>",
 "<NSLayoutConstraint:0x17d0c920 V:[UILabel:0x19de4180]-(8)-[UILabel:0x19d61870]>",
 "<NSLayoutConstraint:0x17d0a100 V:[UILabel:0x19d61870]-(8)-[UIView:0x19d839e0]>",
 "<NSLayoutConstraint:0x17d11ad0 V:[UIView:0x19d839e0]-(8)-[UILabel:0x19d36e80]>",
 "<NSLayoutConstraint:0x19e742a0 V:[UILabel:0x19d36e80]-(8)-[UILabel:0x19d36770]>",
 "<NSLayoutConstraint:0x19ed84a0 V:[UILabel:0x19d36770]-(8)-[UIView:0x19d36130]>",
 "<NSLayoutConstraint:0x19e76410 V:[UIView:0x19d36130]-(>=8)-[UILabel:0x19d35560]>",
 "<NSLayoutConstraint:0x19ed8af0 V:[UILabel:0x19d35560]-(8)-[UITextView:0x1832ba00]>",
 "<NSLayoutConstraint:0x19e7abf0 V:[UITextView:0x1832ba00]-(8)-[UILabel:0x19e7d890]>",
 "<NSLayoutConstraint:0x19e83d90 V:[UILabel:0x19e7d890]-(8)-[UITextView:0x18a95e00]>",
 "<NSLayoutConstraint:0x19e7b520 V:[UITextView:0x18a95e00]-(5)-|   (Names: '|':UITableViewCellContentView:0x19d97580 )>",
 "<NSAutoresizingMaskLayoutConstraint:0x19d46fc0 h=--& v=--& V:[UITableViewCellContentView:0x19d97580(0)]>"
)

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x19d36df0 V:[UILabel:0x19d36e80(19)]>

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.

それで、問題は次のとおりです。これを達成する正しい方法は何ですか???

4

1 に答える 1

1

を使用していますか。使用してstoryboardいる場合は、単純に に移動してEditor->Resolve Auto Layout Issues->Clear All Constraints In ........ ControllerからAdd Missing Constraints In ...... Controller

ビュー間の制約を破る問題を解決するのに役立ちます

于 2013-10-27T04:34:34.243 に答える