本記事では、AutoLayoutでエラーログが発生した際のアプローチについてご紹介します。
発生した問題
AutoLayoutでレイアウトに制約を設けて実装した際、以下のエラーログが発生しました。
この際にやるべきアプローチを紹介します。
アプローチ: ログを読み解く
以下をご覧ください。
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x6000035d9f90 [対象のUIやレイアウト箇所] (active)>
Will attempt to recover by breaking constraintの部分は、「制約を取り除いて表示している」ことを意味しています。
そのため、[対象のUIやレイアウト箇所]の部分について、もう一度制約を見直し再構築することで上記のようなエラーログが解消できるということになります。
(自分の場合は、冗長な制約があると怒られていたため消すことで解消できました。)
また、どのUIのエラーログがわからない場合があります。
その時は、width == 382
などを参考にすると良いです。
さらに、Why The Failure, Auto Layout?というサイトにエラーログを入力することで、わかりやすく可視化してもらえます。
最後に
今回はAutoLayoutのエラーログが発生した時のアプローチについて紹介しました。
他の記事でも別のやり方が載っているのでそちらも参考にしてみてください。