2016-10-14 3 views
1

私はiOS 9と自動レイアウトを使用しているXcode 8ビルディングを使用しています。InterfaceBuilderで削除できない制約が追加されました

Interface Builderに制約をインストールすると、時折競合が発生することがあります。赤い開示をクリックし、矛盾する制約を見ると、インストールしたものと矛盾するものが表示されます。制約をクリックすると、ハイライトがインストールされました。競合する制約をクリックすると強調表示されません。赤い点をクリックして制約を削除すると、競合する制約の横にあるチェックボックスがグレー表示され、選択できなくなります。ドキュメントインスペクタまたはサイズインスペクタに戻ったとき、私はそれが適用されるオブジェクトに対してリストされた矛盾した制約を見ません。

したがって、Interface Builderには削除できない制約が追加されているようです。私の問題は、これらの削除不能な制約は役に立ちません。たとえば、スタックビュー内のビューにwidth> = 50の制約を追加し、削除できないシステム追加width = 0制約と競合することがわかります。

これがなぜ起こっているのか、どうやって回避できるのか誰にも分かりますか?ありがとう。

答えて

0

競合する制約が他のサイズクラスに追加されているかどうかを確認してください。制約がそのサイズクラスでのみ有効になり、現在作業しているサイズクラスでは無効になることがあります。

1

幅の制約の優先度を250に減らします。システムにUIStackViewの制約を追加すると、優先度は1000になります。スタックビューでビューを非表示にすると、幅(または高さ)拘束定数を0にする。

関連する問題