UI で自動レイアウトの競合をデバッグしようとしています。
IB を使用して UI 全体を設定しました。
私が抱えている問題は、というUICollectionView
サブクラス内のオブジェクトに関連していますFrameCell
。
にFrameCell
は aUIImageView
と aUILabel
があり、どちらもセルの水平方向の中央に配置されています。
そして、垂直方向の制約は次のようになります...
V:|-20-[UIImageView]-50-[UILabel(==26)]-25-|
つまり、UIImageView
セルのサイズに応じて高さが変わります。
しかし、私はエラーが発生しています...
(
"<NSAutoresizingMaskLayoutConstraint:0x20087d00 h=--& v=--& V:[FrameCell:0x1edaf4a0(0)]>",
"<NSLayoutConstraint:0x1edafc10 UIImageView:0x1edaf960.top == FrameCell:0x1edaf4a0.top + 20>",
"<NSLayoutConstraint:0x1edafb50 FrameCell:0x1edaf4a0.bottom == UILabel:0x1edaf5c0.bottom + 25>",
"<NSLayoutConstraint:0x1edafb10 V:[UIImageView:0x1edaf960]-(50)-[UILabel:0x1edaf5c0]>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x1edafb10 V:[UIImageView:0x1edaf960]-(50)-[UILabel:0x1edaf5c0]>
エラーはほぼ確実に NSAutoresizingMaskLayoutConstraint から発生していますが、これを取り除く方法がわかりません?! FrameCell の高さを 0 に設定するのはなぜですか?!
セルでオフにしようとするとtranslatesAutoresizingMaskIntoConstraints
、内部整合性エラーが発生します。IB を使用してすべてを設定しているので、この AutoResizingMask がどこから来ているのかわかりませんか?