[解決済み] UIStackView "潰れた "隠しビューの「制約を同時に満たすことができない」問題について
質問
UIStackViewのquot;rows"が潰れた場合、以下のようなエラーが発生します。
AutoLayout
の警告が表示されます。しかし、それらは問題なく表示され、これらの種類のログ以外には何も問題ありません。
制約を同時に満たすことができません。 おそらく、次のリストにある制約のうち少なくとも1つは、必要ないものです。これを試してみてください。(1)それぞれの制約を見て、どれが期待しない制約かを見つけ出してください。(2)不要な制約を追加したコードを見つけ、それを修正してください。(注意: もし、あなたが
NSAutoresizingMaskLayoutConstraints
が表示されている場合、その制約のためのドキュメントを参照してください。UIView
プロパティtranslatesAutoresizingMaskIntoConstraints
) (
というわけで、これを修正する方法はまだわかりませんが、ただうっとうしいだけでなく、何も壊さないようです。
誰かこれを解決する方法を知っていますか?興味深いことに、レイアウト制約には、かなり頻繁に 'UISV-hiding'です。 でタグ付けされており、おそらくそれはこのインスタンスでサブビューまたは何かのための高さの最小値を無視する必要があることを示しています。
どのように解決するのですか?
この問題は、サブビューを
UIStackView
からサブビューを非表示に設定するとき、それをアニメーション化するために、まずその高さをゼロに拘束するためです。
以下のようなエラーが出ていました。
2015-10-01 11:45:13.732 <redacted>[64455:6368084] 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:0x7f7f5be18c80 V:[UISegmentedControl:0x7f7f5bec4180]-(8)-| (Names: '|':UIView:0x7f7f5be69d30 )>",
"<NSLayoutConstraint:0x7f7f5be508d0 V:|-(8)-[UISegmentedControl:0x7f7f5bec4180] (Names: '|':UIView:0x7f7f5be69d30 )>",
"<NSLayoutConstraint:0x7f7f5bdfbda0 'UISV-hiding' V:[UIView:0x7f7f5be69d30(0)]>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x7f7f5be18c80 V:[UISegmentedControl:0x7f7f5bec4180]-(8)-| (Names: '|':UIView:0x7f7f5be69d30 )>
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.
私が行おうとしていたのは、このように
UIView
の中に
UIStackView
を含んでいた
UISegmentedControl
が入っていて、各辺に8ptsずつ挿入されています。
非表示にすると、コンテナビューの高さをゼロにしようとしますが、私は上から下まで一連の制約を持っているので、競合が発生しました。
問題を解決するために、8pt の上下制約の優先順位を 1000 から 999 に変更しました。
UISV-hiding
制約が必要な場合に優先されるようにしました。
関連
-
クラッシュエラー libc++abi.dylib: NSException 型のキャッチできない例外で終了_allanGold のブログ - ProgrammerITS401
-
[解決済み] iOSのステータスバーの文字色を変更する方法
-
[解決済み] UITableViewの下にある余分なセパレータをなくす
-
[解決済み] App Storeのアプリと連動させる方法
-
[解決済み] UITextFieldのテキスト変更イベント
-
[解決済み] IBOutletsはARCのもとで強くなるべきか、弱くなるべきか?
-
[解決済み] SwiftでiOSキーボードを任意の場所でタッチして閉じる
-
[解決済み] UIViewの角丸とドロップシャドウ?
-
[解決済み] iOSアプリをApple Developer Programや脱獄せずにデバイス上でテストすることができます。
-
[解決済み] ビューを非表示にしたときに、オートレイアウトで他のビューを移動するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
iOSコンパイルポッドでエラー CocoaPods could not find compatible versions for pod "XXXXX" が報告される。
-
[解決済み] iOSのバージョンを確認する方法を教えてください。
-
[解決済み] UITextFieldのテキスト変更イベント
-
[解決済み] UITextViewのサイズをコンテンツに合わせるには?
-
[解決済み] UIDevice uniqueIdentifierは非推奨 - どうしたらいいの?
-
[解決済み] コードサインエラーです。期限切れのプロファイルを削除した後、プロビジョニングプロファイルが見つからない
-
[解決済み] SwiftでiOSキーボードを任意の場所でタッチして閉じる
-
[解決済み] UILabelで複数行のテキストを表示する
-
[解決済み] UIImageのサイズを変更する最も簡単な方法?
-
[解決済み] 16進カラーバリューの使用方法