オートレイアウト UIView-Encapsulated-Layout-WidthとHeightという名前の制約を作成するのは何ですか?
2023-08-09 05:05:41
質問
Interface Builderではレイアウトの制約は問題ないのですが、フレームワークの一部が、私が本当に望まない固定の高さと幅の制約を適用しているために、実行時に例外が発生します。なぜこのような制約があるのでしょうか、また、どのようにそれをオフにするのでしょうか。
ログに記録されたリストで最後に表示された2つの制約です。
2014-04-26 09:02:58.687 BBCNews[32058:60b] 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:0xbf478a0 UIView:0xbf4a3c0.height == 0.28125*UIView:0xbf4a3c0.width>",
"<NSLayoutConstraint:0xbf47190 UIView:0xbf4a3c0.leading == BNMyNewsCell_landscape:0xbf48b10.leading>",
"<NSLayoutConstraint:0xbf47160 UIView:0xbf4a3c0.trailing == BNMyNewsCell_landscape:0xbf48b10.trailing>",
"<NSLayoutConstraint:0xbf47130 BNMyNewsCell_landscape:0xbf48b10.bottom == UIView:0xbf4a3c0.bottom>",
"<NSLayoutConstraint:0xbf47100 UIView:0xbf4a3c0.top == BNMyNewsCell_landscape:0xbf48b10.top>",
"<NSLayoutConstraint:0xd4c3c40 'UIView-Encapsulated-Layout-Width' H:[BNMyNewsCell_landscape:0xbf48b10(304)]>",
"<NSLayoutConstraint:0xd4c38a0 'UIView-Encapsulated-Layout-Height' V:[BNMyNewsCell_landscape:0xbf48b10(290)]>"
}
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0xbf478a0 UIView:0xbf4a3c0.height == 0.28125*UIView:0xbf4a3c0.width>
どのように解決するのですか?
たくさんの観察に基づき、私は以下の制約を確信しています。
UIView-Encapsulated-Layout-Width
と
UIView-Encapsulated-Layout-Height
が作成されます。
UICollectionView
とその仲間たちによって作成され
sizeForItemAtIndexPath
デリゲートメソッドによって返されるサイズを強制するために存在しています。を確実にするためにあるのでしょう。
UICollectionViewCell
で設定された
cellForItemAtIndexPath
は、言われたとおりのサイズで終了します。
これが私の最初の質問の答えです。2つ目の質問は、なぜ制約が満たされなかったのか、ということです。セルの本質的な高さは、次のように同じであるべきでした。
UIView-Encapsulated-Layout-Height
. これも確かなことではありませんが、丸め誤差ではないかと思います(つまり、固有の高さは200.1ピクセルになり、UIView-Encapsulated-Layout-Height
が最後の単語を持つようにすることです。
関連
-
XCode のコンパイル例外を解決する clang: error: linker command failed with exit code 1
-
EXC_BAD_ACCESS (code=2, address=0x0)
-
[解決済み] UITableViewの下にある余分なセパレータをなくす
-
[解決済み] UITextViewのプレースホルダー
-
[解決済み] iOS 8 UITableViewのセパレータインセット0が機能しない件
-
[解決済み] iOS 13 のフルスクリーンでモーダルを表示する
-
[解決済み] テキストフィールドを移動する方法(次へボタン/完了ボタン)
-
[解決済み] iOSで現在のデバイスの言語を取得するには?
-
[解決済み] swiftで電子メールアドレスを検証する方法は?
-
[解決済み】UIScrollView Scrollable Content Size Ambiguity
最新
-
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ラーニングノート「このクラスはxxxのキーバリューコーディングに対応していません」問題解決
-
iOSコンパイルポッドでエラー CocoaPods could not find compatible versions for pod "XXXXX" が報告される。
-
[解決済み] UITableViewの下にある余分なセパレータをなくす
-
[解決済み] UIButtonのタイトルを左揃えにするにはどうしたらよいですか?
-
[解決済み] コードサインエラーです。期限切れのプロファイルを削除した後、プロビジョニングプロファイルが見つからない
-
[解決済み] Swift で HTTP リクエストを行うにはどうしたらいいですか?
-
[解決済み] iOSアプリをApple Developer Programや脱獄せずにデバイス上でテストすることができます。
-
[解決済み] iOS 11、Apple TV 4Kなどを搭載したXcode 9でワイヤレスデバッグを行う方法とは?
-
[解決済み] Swiftで配列に要素を追加する